@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600&display=swap";
:root{--bg-primary:#06060e;--bg-secondary:#0c0c1d;--bg-tertiary:#12122a;--bg-card:#12122a99;--bg-card-hover:#1e1e3ccc;--text-primary:#e8e8f0;--text-secondary:#a0a0b8;--text-muted:#6b6b80;--accent-start:#6366f1;--accent-mid:#8b5cf6;--accent-end:#a855f7;--accent-glow:#8b5cf64d;--accent-glow-strong:#8b5cf699;--border-subtle:#ffffff0f;--border-light:#ffffff1a;--border-accent:#8b5cf64d;--glass-bg:#0c0c1d99;--glass-border:#ffffff14;--glass-blur:20px;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 8px 32px #0006;--shadow-lg:0 16px 64px #00000080;--shadow-glow:0 0 40px #8b5cf626;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-xl:28px;--radius-full:9999px;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--transition-fast:.2s cubic-bezier(.4, 0, .2, 1);--transition-base:.3s cubic-bezier(.4, 0, .2, 1);--transition-slow:.5s cubic-bezier(.4, 0, .2, 1);--transition-spring:.6s cubic-bezier(.34, 1.56, .64, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-padding-top:80px}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.7;overflow-x:hidden}::selection{background:var(--accent-mid);color:#fff}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--accent-mid);border-radius:var(--radius-full)}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.gradient-text{background:linear-gradient(135deg, var(--accent-start), var(--accent-mid), var(--accent-end));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.gradient-text-animated{background:linear-gradient(270deg, var(--accent-start), var(--accent-mid), var(--accent-end), #ec4899, var(--accent-start));-webkit-text-fill-color:transparent;background-size:300% 300%;-webkit-background-clip:text;background-clip:text;animation:6s infinite gradientShift}@keyframes gradientShift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);transition:all var(--transition-base)}.glass-card:hover{background:var(--bg-card-hover);border-color:var(--border-accent);box-shadow:var(--shadow-glow);transform:translateY(-4px)}.section{padding:100px 0;position:relative}.section-container{max-width:1200px;margin:0 auto;padding:0 24px}.section-header{text-align:center;margin-bottom:64px}.section-label{font-family:var(--font-mono);color:var(--accent-mid);text-transform:uppercase;letter-spacing:3px;margin-bottom:12px;font-size:.85rem;font-weight:500;display:block}.section-title{margin-bottom:16px;font-size:clamp(2rem,4vw,3rem);font-weight:800;line-height:1.2}.section-subtitle{color:var(--text-secondary);max-width:600px;margin:0 auto;font-size:1.1rem}.btn{border-radius:var(--radius-full);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-base);border:none;align-items:center;gap:8px;padding:14px 28px;font-size:.95rem;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn-primary{background:linear-gradient(135deg, var(--accent-start), var(--accent-end));color:#fff;box-shadow:0 4px 20px #8b5cf64d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px #8b5cf680}.btn-secondary{color:var(--text-primary);border:1px solid var(--border-light);background:0 0}.btn-secondary:hover{border-color:var(--accent-mid);background:#8b5cf61a;transform:translateY(-2px)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes glow{0%,to{box-shadow:0 0 20px #8b5cf633}50%{box-shadow:0 0 40px #8b5cf666}}.animate-on-scroll{opacity:0;transition:all .8s cubic-bezier(.4,0,.2,1);transform:translateY(40px)}.animate-on-scroll.visible{opacity:1;transform:translateY(0)}.navbar{z-index:1000;transition:all var(--transition-base);padding:16px 0;position:fixed;top:0;left:0;right:0}.navbar.scrolled{-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border-subtle);background:#06060ed9;padding:12px 0}.navbar-container{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 24px;display:flex}.navbar-logo{font-family:var(--font-mono);letter-spacing:-.5px;font-size:1.2rem;font-weight:700}.navbar-links{gap:32px;list-style:none;display:flex}.navbar-link{color:var(--text-secondary);transition:color var(--transition-fast);font-size:.9rem;font-weight:500;position:relative}.navbar-link:after{content:"";background:linear-gradient(90deg, var(--accent-start), var(--accent-end));border-radius:var(--radius-full);width:0;height:2px;transition:width var(--transition-base);position:absolute;bottom:-4px;left:0}.navbar-link:hover,.navbar-link.active{color:var(--text-primary)}.navbar-link:hover:after,.navbar-link.active:after{width:100%}.navbar-cta{padding:8px 20px;font-size:.85rem}.navbar-mobile-toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:4px;display:none}.navbar-mobile-toggle span{background:var(--text-primary);width:24px;height:2px;transition:all var(--transition-base);border-radius:2px}.hero{align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.hero-bg{z-index:0;position:absolute;inset:0}.hero-gradient{filter:blur(120px);opacity:.15;border-radius:50%;width:600px;height:600px;position:absolute}.hero-gradient-1{background:var(--accent-start);top:-200px;right:-100px}.hero-gradient-2{background:var(--accent-end);bottom:-200px;left:-100px}.hero-gradient-3{opacity:.08;background:#ec4899;width:400px;height:400px;top:50%;left:50%;transform:translate(-50%,-50%)}.hero-grid{background-image:linear-gradient(#ffffff05 1px,#0000 1px),linear-gradient(90deg,#ffffff05 1px,#0000 1px);background-size:60px 60px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 60%,#000 40%,#0000 100%);mask-image:radial-gradient(80% 60%,#000 40%,#0000 100%)}.hero-content{z-index:1;grid-template-columns:1fr 1fr;align-items:center;gap:64px;max-width:1200px;margin:0 auto;padding:0 24px;display:grid;position:relative}.hero-text{animation:1s forwards fadeInUp}.hero-badge{border-radius:var(--radius-full);color:var(--accent-mid);background:#8b5cf61a;border:1px solid #8b5cf633;align-items:center;gap:8px;margin-bottom:24px;padding:8px 16px;font-size:.85rem;font-weight:500;display:inline-flex}.hero-badge-dot{background:#22c55e;border-radius:50%;width:8px;height:8px;animation:2s infinite pulse}.hero-name{margin-bottom:8px;font-size:clamp(2.5rem,5vw,4rem);font-weight:900;line-height:1.1}.hero-role{color:var(--text-secondary);margin-bottom:24px;font-size:clamp(1.2rem,2.5vw,1.8rem);font-weight:300}.hero-description{color:var(--text-secondary);max-width:500px;margin-bottom:32px;font-size:1.1rem;line-height:1.8}.hero-buttons{flex-wrap:wrap;gap:16px;display:flex}.hero-visual{opacity:0;justify-content:center;align-items:center;animation:1.2s .3s forwards fadeIn;display:flex}.hero-avatar-wrapper{width:340px;height:340px;position:relative}.hero-avatar-ring{background:linear-gradient(135deg, var(--accent-start), var(--accent-end), #ec4899);border-radius:50%;padding:4px;animation:8s linear infinite spin;position:absolute;inset:-4px}@keyframes spin{to{transform:rotate(360deg)}}.hero-avatar-ring:before{content:"";background:var(--bg-primary);border-radius:50%;position:absolute;inset:4px}.hero-avatar{z-index:1;object-fit:cover;border-radius:50%;width:100%;height:100%;position:relative}.hero-avatar-glow{background:radial-gradient(circle,#8b5cf633,#0000 70%);border-radius:50%;animation:4s infinite glow;position:absolute;inset:-40px}.hero-stats{border-top:1px solid var(--border-subtle);opacity:0;gap:40px;margin-top:48px;padding-top:32px;animation:1s .6s forwards fadeInUp;display:flex}.hero-stat-value{font-size:1.8rem;font-weight:800;font-family:var(--font-mono)}.hero-stat-label{color:var(--text-muted);margin-top:4px;font-size:.85rem}.about-grid{grid-template-columns:1fr 1fr;align-items:center;gap:64px;display:grid}.about-text h3{margin-bottom:16px;font-size:1.6rem;font-weight:700}.about-text p{color:var(--text-secondary);margin-bottom:16px;line-height:1.8}.about-info-grid{grid-template-columns:1fr 1fr;gap:16px;margin-top:32px;display:grid}.about-info-item{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:16px}.about-info-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:4px;font-size:.8rem}.about-info-value{font-size:.95rem;font-weight:600}.skills-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;display:grid}.skill-category{padding:32px}.skill-category-icon{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--accent-start), var(--accent-end));justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:20px;font-size:1.4rem;display:flex}.skill-category-title{margin-bottom:20px;font-size:1.15rem;font-weight:700}.skill-item{margin-bottom:16px}.skill-item-header{justify-content:space-between;margin-bottom:6px;display:flex}.skill-item-name{font-size:.9rem;font-weight:500}.skill-item-level{color:var(--text-muted);font-size:.8rem;font-family:var(--font-mono)}.skill-bar{border-radius:var(--radius-full);background:#ffffff0f;height:6px;overflow:hidden}.skill-bar-fill{background:linear-gradient(90deg, var(--accent-start), var(--accent-end));border-radius:var(--radius-full);width:0%;height:100%;transition:width 1.2s cubic-bezier(.4,0,.2,1)}.tech-stack{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:48px;display:flex}.tech-badge{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-full);transition:all var(--transition-base);align-items:center;gap:8px;padding:10px 18px;font-size:.85rem;font-weight:500;display:inline-flex}.tech-badge:hover{border-color:var(--border-accent);background:#8b5cf61a;transform:translateY(-2px)}.tech-badge-dot{border-radius:50%;width:8px;height:8px}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:24px;display:grid}.project-card{cursor:pointer;padding:0;overflow:hidden}.project-card-header{justify-content:space-between;align-items:flex-start;padding:28px 28px 0;display:flex}.project-card-icon{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--accent-start), var(--accent-end));justify-content:center;align-items:center;width:44px;height:44px;font-size:1.2rem;display:flex}.project-card-links{gap:8px;display:flex}.project-card-link{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);width:36px;height:36px;color:var(--text-muted);transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.project-card-link:hover{border-color:var(--accent-mid);color:var(--accent-mid);background:#8b5cf61a}.project-card-body{padding:20px 28px 28px}.project-card-title{margin-bottom:8px;font-size:1.2rem;font-weight:700}.project-card-description{color:var(--text-secondary);margin-bottom:20px;font-size:.9rem;line-height:1.6}.project-card-tags{flex-wrap:wrap;gap:8px;display:flex}.project-tag{border-radius:var(--radius-full);color:var(--accent-mid);font-size:.75rem;font-weight:500;font-family:var(--font-mono);background:#8b5cf61a;border:1px solid #8b5cf626;padding:4px 12px}.timeline{max-width:800px;margin:0 auto;position:relative}.timeline:before{content:"";background:linear-gradient(to bottom, transparent, var(--accent-start), var(--accent-mid), var(--accent-end), transparent);width:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.timeline-item{gap:40px;margin-bottom:48px;display:flex;position:relative}.timeline-item:nth-child(2n){flex-direction:row-reverse}.timeline-item:nth-child(2n) .timeline-content{text-align:right}.timeline-dot{background:linear-gradient(135deg, var(--accent-start), var(--accent-end));border:3px solid var(--bg-primary);z-index:1;border-radius:50%;width:16px;height:16px;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 0 20px #8b5cf64d}.timeline-content{flex:1;padding:24px}.timeline-date{font-family:var(--font-mono);color:var(--accent-mid);margin-bottom:8px;font-size:.8rem}.timeline-title{margin-bottom:4px;font-size:1.15rem;font-weight:700}.timeline-company{color:var(--text-secondary);margin-bottom:12px;font-size:.95rem}.timeline-description{color:var(--text-muted);font-size:.9rem;line-height:1.6}.contact-grid{grid-template-columns:1fr 1fr;align-items:start;gap:48px;display:grid}.contact-info h3{margin-bottom:16px;font-size:1.6rem;font-weight:700}.contact-info p{color:var(--text-secondary);margin-bottom:32px;line-height:1.8}.contact-links{flex-direction:column;gap:16px;display:flex}.contact-link-item{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);transition:all var(--transition-base);align-items:center;gap:16px;padding:16px 20px;display:flex}.contact-link-item:hover{border-color:var(--border-accent);background:#8b5cf60d;transform:translate(8px)}.contact-link-icon{border-radius:var(--radius-md);background:#8b5cf61a;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.2rem;display:flex}.contact-link-text{flex-direction:column;display:flex}.contact-link-label{color:var(--text-muted);font-size:.8rem}.contact-link-value{font-size:.95rem;font-weight:600}.contact-form{padding:32px}.form-group{margin-bottom:20px}.form-label{color:var(--text-secondary);margin-bottom:8px;font-size:.85rem;font-weight:500;display:block}.form-input,.form-textarea{border:1px solid var(--border-subtle);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-family:var(--font-sans);transition:all var(--transition-fast);background:#ffffff08;outline:none;padding:14px 18px;font-size:.95rem}.form-input:focus,.form-textarea:focus{border-color:var(--accent-mid);box-shadow:0 0 0 3px #8b5cf61a}.form-textarea{resize:vertical;min-height:140px}.footer{border-top:1px solid var(--border-subtle);padding:48px 0}.footer-container{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 24px;display:flex}.footer-text{color:var(--text-muted);font-size:.9rem}.footer-links{gap:24px;display:flex}.footer-link{color:var(--text-secondary);transition:color var(--transition-fast);font-size:.9rem}.footer-link:hover{color:var(--accent-mid)}.particles-canvas{z-index:0;pointer-events:none;position:absolute;inset:0}@media (max-width:1024px){.hero-content{text-align:center;grid-template-columns:1fr;gap:40px}.hero-description{margin:0 auto 32px}.hero-buttons,.hero-stats{justify-content:center}.hero-avatar-wrapper{width:260px;height:260px}.about-grid{grid-template-columns:1fr;gap:40px}.contact-grid{grid-template-columns:1fr}.timeline:before{left:20px}.timeline-item,.timeline-item:nth-child(2n){flex-direction:row;padding-left:50px}.timeline-item:nth-child(2n) .timeline-content{text-align:left}.timeline-dot{left:20px}}@media (max-width:768px){.section{padding:64px 0}.navbar-links{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border-subtle);background:#06060ef2;flex-direction:column;gap:16px;padding:24px;display:none;position:absolute;top:100%;left:0;right:0}.navbar-links.open,.navbar-mobile-toggle{display:flex}.navbar-cta-desktop{display:none}.projects-grid{grid-template-columns:1fr}.hero-stats{gap:24px}.footer-container{text-align:center;flex-direction:column;gap:16px}.skills-grid{grid-template-columns:1fr}}
