:root{--color-primary:#2563eb;--color-primary-dark:#1e40af;--color-primary-light:#dbeafe;--color-secondary:#10b981;--color-accent:#f59e0b;--color-text-primary:#0f172a;--color-text-secondary:#475569;--color-text-light:#64748b;--color-bg-primary:#fff;--color-bg-secondary:#f8fafc;--color-bg-tertiary:#f1f5f9;--color-border:#e2e8f0;--color-shadow:rgba(15,23,42,.08);--gradient-hero:linear-gradient(135deg,#667eea,#764ba2);--gradient-accent:linear-gradient(135deg,#f093fb,#f5576c);--spacing-xs:0.5rem;--spacing-sm:1rem;--spacing-md:1.5rem;--spacing-lg:2rem;--spacing-xl:3rem;--spacing-2xl:4rem;--spacing-3xl:6rem;--font-primary:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-heading:"Poppins",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--radius-sm:0.5rem;--radius-md:1rem;--radius-lg:1.5rem;--radius-xl:2rem;--radius-full:9999px;--transition-fast:150ms ease;--transition-base:250ms ease;--transition-slow:400ms ease;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-primary);font-size:1rem;line-height:1.7;color:var(--color-text-primary);background:var(--color-bg-secondary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{max-width:100%;height:auto;display:block}a{text-decoration:none;color:var(--color-primary);transition:color var(--transition-base)}a:hover{color:var(--color-primary-dark)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg)}.nav-header{position:-webkit-sticky;position:sticky;top:0;z-index:1000;background:hsla(0,0%,100%,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border);padding:var(--spacing-md) 0}.nav-container{justify-content:space-between}.logo,.nav-container{display:flex;align-items:center}.logo{gap:var(--spacing-sm);font-family:var(--font-heading);font-weight:700;font-size:1.5rem;transition:transform var(--transition-base)}.logo,.logo:hover{color:var(--color-text-primary)}.logo:hover{transform:translateY(-2px)}.logo-initial{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--gradient-hero);color:#fff;border-radius:var(--radius-md);font-size:1.5rem;font-weight:800}.logo-name{display:none}.logo-name-full{font-size:1.5rem;font-weight:700;font-family:var(--font-heading)}@media (min-width:768px){.logo-name{display:block}}.main-nav ul{display:flex;list-style:none;gap:var(--spacing-xs);align-items:center}.main-nav li a{padding:var(--spacing-xs) var(--spacing-md);color:var(--color-text-secondary);font-weight:500;border-radius:var(--radius-sm);transition:all var(--transition-base);position:relative}.main-nav li a:hover{color:var(--color-primary)}.main-nav li a:after{content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%) scaleX(0);width:80%;height:2px;background:var(--color-primary);transition:transform var(--transition-base)}.main-nav li a:hover:after{transform:translateX(-50%) scaleX(1)}.nav-cta{background:var(--color-text-primary)!important;color:#fff!important;padding:var(--spacing-xs) var(--spacing-lg)!important;border-radius:var(--radius-full)!important;font-weight:600!important}.nav-cta:hover{background:var(--color-text-secondary)!important;color:#fff!important;transform:translateY(-2px);box-shadow:var(--shadow-md)}.mobile-toggle{display:none;color:var(--color-text-primary);padding:var(--spacing-xs)}@media (max-width:768px){.mobile-toggle{display:block}.main-nav ul{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;padding:var(--spacing-md);box-shadow:var(--shadow-lg)}.main-nav ul.active{display:flex}.main-nav li{width:100%}.main-nav li a{display:block;width:100%;text-align:center}}.btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:.875rem 2rem;font-weight:600;border-radius:var(--radius-full);transition:all var(--transition-base);cursor:pointer;border:none;font-family:var(--font-primary);font-size:1rem}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-lg);color:#fff}.btn-secondary{background:transparent;color:var(--color-text-primary);border:2px solid var(--color-border)}.btn-secondary:hover{border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-2px)}.btn-dark{background:var(--color-text-primary);color:#fff}.btn-dark:hover{background:var(--color-text-secondary);transform:translateY(-2px);box-shadow:var(--shadow-lg);color:#fff}.section-padding{padding:var(--spacing-3xl) 0}.section-title{font-family:var(--font-heading);font-size:3rem;font-weight:800;text-align:center;margin-bottom:var(--spacing-2xl);color:var(--color-text-primary);position:relative}.section-title:after{content:"";position:absolute;bottom:-1rem;left:50%;transform:translateX(-50%);width:60px;height:4px;background:var(--gradient-hero);border-radius:var(--radius-full)}@media (max-width:768px){.section-title{font-size:2rem}}.card{background:var(--color-bg-primary);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md);transition:all var(--transition-base)}.card:hover{box-shadow:var(--shadow-xl);transform:translateY(-4px)}.hero-section{padding:var(--spacing-3xl) 0 0 0;background:linear-gradient(135deg,#f8fafc,#e0e7ff 50%,#fce7f3);position:relative;overflow:hidden}.hero-wrapper{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--spacing-2xl);gap:var(--spacing-2xl);align-items:center;margin-bottom:0}@media (max-width:968px){.hero-wrapper{grid-template-columns:1fr;text-align:center}}.hero-content{z-index:2}.hero-intro{font-size:1rem;font-weight:600;color:var(--color-primary);text-transform:uppercase;letter-spacing:2px;margin-bottom:var(--spacing-sm)}.hero-name{font-family:var(--font-heading);font-size:4rem;font-weight:900;line-height:1.1;margin-bottom:var(--spacing-md);color:var(--color-text-primary)}.name-accent{display:block;background:var(--gradient-hero);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.hero-title{font-size:2rem;font-weight:600;margin-bottom:var(--spacing-lg);min-height:3rem;color:var(--color-text-secondary)}.typewrite .wrap{border-right:.1em solid var(--color-primary);padding-right:2px;animation:blink-caret .75s step-end infinite}@keyframes blink-caret{0%,to{border-color:transparent}50%{border-color:var(--color-primary)}}.hero-description{font-size:1.125rem;line-height:1.8;color:var(--color-text-secondary);max-width:600px}.hero-cta,.hero-description{margin-bottom:var(--spacing-xl)}.hero-cta{display:flex;gap:var(--spacing-md);flex-wrap:wrap}@media (max-width:968px){.hero-name{font-size:2.5rem}.hero-title{font-size:1.5rem}.hero-description{margin-left:auto;margin-right:auto}.hero-cta{justify-content:center}}.hero-social{gap:var(--spacing-md)}.hero-social,.hero-social a{display:flex;justify-content:center;align-items:center}.hero-social a{width:48px;height:48px;background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:all var(--transition-base);flex-shrink:0}.hero-social a:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.hero-social img{width:24px;height:24px;display:block}.hero-cta-mobile{display:none;margin-top:var(--spacing-lg)}@media (max-width:768px){.hero-cta-mobile{display:flex!important;justify-content:center;align-items:center;width:100%;margin-top:var(--spacing-lg)}.hero-cta-mobile .btn{padding:.75rem 2rem;font-size:.95rem;font-weight:600}.hero-social{justify-content:center;align-items:center;gap:var(--spacing-lg);margin:0 auto}.hero-social a{width:52px;height:52px}.hero-social img{width:26px;height:26px}}.hero-visual{position:relative;display:flex;align-items:center;justify-content:center}.portrait-frame{position:relative;width:500px;height:600px;max-width:100%}.portrait-img{width:100%;height:100%;object-fit:cover;object-position:center 50%;border-radius:var(--radius-xl)}.portrait-decoration{position:absolute;top:-30px;right:-30px;width:200px;height:200px;cursor:pointer;transition:transform var(--transition-base);text-decoration:none}.portrait-decoration:hover{transform:scale(1.05)}.decoration-ring{width:100%;height:100%;color:var(--color-primary);opacity:.6;animation:rotate 20s linear infinite}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.decoration-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.75rem;font-weight:700;color:var(--color-primary);text-align:center;line-height:1.3;width:120px}@media (max-width:968px){.hero-visual{display:none}.hero-wrapper{grid-template-columns:1fr;text-align:center}.hero-description{margin-left:auto;margin-right:auto}}.hero-companies{display:flex;align-items:center;justify-content:center;gap:var(--spacing-2xl);flex-wrap:wrap;padding:var(--spacing-2xl) 0;margin-top:0;background:hsla(0,0%,100%,.7);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid rgba(0,0,0,.05);box-shadow:0 -10px 30px rgba(0,0,0,.03);margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%);width:100vw}.hero-companies img{height:48px;filter:grayscale(100%) opacity(.5);transition:all var(--transition-base)}.hero-companies img:hover{filter:none;opacity:1;transform:scale(1.05)}@media (min-width:768px){.hero-companies{gap:var(--spacing-3xl);padding:var(--spacing-2xl) 0}.hero-companies img{height:56px}}.tech-marquee{padding:var(--spacing-xl) 0;background:var(--color-bg-primary);overflow:hidden}.marquee{width:100%;overflow:hidden;position:relative}.marquee-track{display:flex;gap:var(--spacing-xl);animation:marquee 40s linear infinite;width:-moz-fit-content;width:fit-content}.marquee-track img{width:80px;height:80px;object-fit:contain;filter:grayscale(20%);opacity:.8;transition:all var(--transition-base)}.marquee-track img:hover{filter:none;opacity:1;transform:scale(1.1)}@keyframes marquee{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.about-section{background:var(--color-bg-primary)}.about-content{max-width:800px;margin:0 auto;font-size:1.125rem;line-height:1.9;color:var(--color-text-secondary)}.about-content p{margin-bottom:var(--spacing-lg)}.about-content strong{color:var(--color-text-primary);font-weight:600}.experience-section{background:var(--color-bg-secondary)}.timeline{max-width:900px;margin:0 auto;position:relative;padding-left:var(--spacing-xl)}.timeline:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--color-primary),var(--color-secondary))}.timeline-item{position:relative;margin-bottom:var(--spacing-2xl)}.timeline-marker{position:absolute;left:calc(-1 * var(--spacing-xl) - 8px);top:8px;width:18px;height:18px;background:var(--color-primary);border:4px solid var(--color-bg-secondary);border-radius:50%;z-index:2}.timeline-content{padding:var(--spacing-lg)}.timeline-content h3{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;margin-bottom:var(--spacing-xs);color:var(--color-text-primary)}.timeline-content h4{font-size:1.125rem;color:var(--color-primary)}.timeline-content h4,.timeline-date{font-weight:600;margin-bottom:var(--spacing-md)}.timeline-date{display:inline-block;padding:var(--spacing-xs) var(--spacing-md);background:var(--color-primary-light);color:var(--color-primary-dark);border-radius:var(--radius-full);font-size:.875rem}.experience-list{list-style:none;padding:0}.experience-list li{padding:var(--spacing-xs) 0;padding-left:var(--spacing-lg);position:relative;color:var(--color-text-secondary);line-height:1.7}.experience-list li:before{content:"→";position:absolute;left:0;color:var(--color-primary);font-weight:700}.experience-list strong{color:var(--color-text-primary);font-weight:600}@media (max-width:768px){.timeline{padding-left:var(--spacing-lg)}.timeline-marker{left:calc(-1 * var(--spacing-lg) - 8px)}}.projects-section{background:var(--color-bg-primary)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));grid-gap:var(--spacing-xl);gap:var(--spacing-xl)}.project-card{display:flex;flex-direction:column;gap:var(--spacing-md)}.project-card h3{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:var(--color-text-primary)}.project-card p{color:var(--color-text-secondary);flex-grow:1;line-height:1.7}.project-tech{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.tech-tag{padding:var(--spacing-xs) var(--spacing-md);background:var(--color-primary-light);color:var(--color-primary-dark);border-radius:var(--radius-full);font-size:.875rem;font-weight:600}.project-links{display:flex;align-items:center;gap:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.project-links a{display:flex;align-items:center;gap:var(--spacing-xs);transition:all var(--transition-base)}.project-links a:hover{transform:translateX(4px)}.link-text{font-weight:600;color:var(--color-primary)}.skills-section{background:var(--color-bg-secondary)}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:var(--spacing-xl);gap:var(--spacing-xl)}.skill-category h3{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;margin-bottom:var(--spacing-md);color:var(--color-text-primary)}.skill-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.skill-tag{padding:var(--spacing-xs) var(--spacing-md);background:var(--color-bg-tertiary);color:var(--color-text-primary);border-radius:var(--radius-md);font-size:.875rem;font-weight:500;transition:all var(--transition-base)}.skill-tag:hover{background:var(--color-primary);transform:translateY(-2px)}.chat-section{background:var(--color-bg-primary)}.chat-wrapper{display:grid;grid-template-columns:1fr 1.5fr;grid-gap:var(--spacing-xl);gap:var(--spacing-xl);max-width:1200px;margin:0 auto}@media (max-width:968px){.chat-wrapper{grid-template-columns:1fr}.chat-info{text-align:center}.chat-info .btn-dark{width:100%;justify-content:center}}.chat-info h3{font-family:var(--font-heading);font-size:1.75rem;font-weight:700;margin-bottom:var(--spacing-md);color:var(--color-text-primary)}.chat-info p{color:var(--color-text-secondary);line-height:1.8;margin-bottom:var(--spacing-lg)}.chat-box{background:var(--color-bg-tertiary);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.chat-box,.chat-messages{display:flex;flex-direction:column;gap:var(--spacing-md)}.chat-messages{height:400px;overflow-y:auto;padding:var(--spacing-md);background:#fff;border-radius:var(--radius-md)}.chat-messages::-webkit-scrollbar{width:8px}.chat-messages::-webkit-scrollbar-track{background:var(--color-bg-tertiary);border-radius:var(--radius-full)}.chat-messages::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}.chat-messages li{display:flex;gap:var(--spacing-md);align-items:flex-start;list-style:none}.chat-messages li:nth-child(2n){flex-direction:row-reverse;text-align:right}.chat-messages li span{width:48px;height:48px;border-radius:50%;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.chat-messages li:nth-child(2n) span{background:var(--color-secondary)}.chat-messages li div{flex:1 1;padding:var(--spacing-md);background:var(--color-bg-tertiary);border-radius:var(--radius-md);color:var(--color-text-primary);line-height:1.6}.chat-messages li:nth-child(2n) div{background:var(--color-primary-light)}.chat-input-form{display:flex;gap:var(--spacing-md);width:100%}.chat-input-form input{flex:1 1;padding:var(--spacing-md);border:2px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-primary);font-size:1rem;transition:all var(--transition-base);min-width:0;width:100%}.chat-input-form input:focus{outline:none;border-color:var(--color-primary)}.chat-input-form button{flex-shrink:0;white-space:nowrap}@media (max-width:768px){.chat-input-form{flex-direction:column;gap:var(--spacing-sm)}.chat-input-form input{width:100%;padding:var(--spacing-sm) var(--spacing-md)}.chat-input-form button{width:100%}.chat-box{padding:var(--spacing-md)}.chat-messages{height:300px;padding:var(--spacing-sm)}}.footer{background:var(--color-text-primary);color:#fff;padding:var(--spacing-xl) 0;text-align:center}.footer .container{display:flex;flex-direction:column;gap:var(--spacing-md);align-items:center}.footer-links{display:flex;gap:var(--spacing-lg)}.footer-links a{color:#fff;font-weight:500;transition:color var(--transition-base)}.footer-links a:hover{color:var(--color-primary-light)}@media (max-width:768px){html{font-size:14px}.section-padding{padding:var(--spacing-2xl) 0}}.text-center{text-align:center}.text-primary{color:var(--color-primary)}.font-bold{font-weight:700}.scroll-progress{position:fixed;top:0;left:0;width:0;height:3px;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));z-index:9999;transition:width .2s ease}.card{position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(37,99,235,.1),transparent);transition:left .5s ease}.card:hover:before{left:100%}@keyframes pulse{0%,to{box-shadow:0 0 0 0 rgba(37,99,235,.7)}50%{box-shadow:0 0 0 10px rgba(37,99,235,0)}}.btn-primary{animation:pulse 2s infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.portrait-decoration{animation:float 3s ease-in-out infinite}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fadeInUp .8s ease-out}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}.skill-tag:hover{background:linear-gradient(90deg,var(--color-primary) 0,var(--color-secondary) 50%,var(--color-primary) 100%);background-size:200% auto;animation:shimmer 2s linear infinite;color:#fff}.tech-tag:hover{background:var(--color-primary);color:#fff;transform:translateY(-2px) scale(1.05)}.timeline-marker{box-shadow:0 0 0 4px var(--color-bg-secondary);transition:all var(--transition-base)}.timeline-item:hover .timeline-marker{transform:scale(1.3);box-shadow:0 0 0 8px rgba(37,99,235,.1)}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}section{animation:fadeInUp .6s ease-out}img{transition:opacity .3s ease}img:not([src]){opacity:0}.footer{position:relative;overflow:hidden}.footer:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}