:root{--bg-primary:#050510;--bg-secondary:#0d0d1e;--bg-card:#ffffff0a;--bg-card-hover:#ffffff12;--border:#ffffff14;--border-glow:#7c3aed66;--violet:#7c3aed;--violet-light:#a855f7;--violet-glow:#7c3aed40;--cyan:#06b6d4;--cyan-light:#22d3ee;--cyan-glow:#06b6d433;--amber:#f59e0b;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--gradient-primary:linear-gradient(135deg, #7c3aed, #06b6d4);--gradient-hero:linear-gradient(135deg, #4f1d96 0%, #0e7490 100%);--gradient-card:linear-gradient(135deg, #7c3aed1a, #06b6d41a);--shadow-glow:0 0 40px #7c3aed33;--shadow-card:0 8px 32px #0006;--shadow-button:0 4px 24px #7c3aed66;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--radius-xl:32px;--transition:all .3s cubic-bezier(.4, 0, .2, 1);--transition-slow:all .6s cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:Inter,sans-serif;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:Outfit,sans-serif;font-weight:700;line-height:1.2}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}button{cursor:pointer;border:none;outline:none;font-family:Outfit,sans-serif}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:linear-gradient(var(--violet), var(--cyan));border-radius:10px}::selection{background:var(--violet-glow);color:var(--violet-light)}.container{max-width:1100px;margin:0 auto;padding:0 24px}.section{padding:100px 0}.section-label{letter-spacing:3px;text-transform:uppercase;color:var(--cyan);align-items:center;gap:8px;margin-bottom:16px;font-family:Outfit,sans-serif;font-size:13px;font-weight:600;display:inline-flex}.section-label:before{content:"";background:var(--gradient-primary);border-radius:2px;width:24px;height:2px}.section-title{color:var(--text-primary);margin-bottom:16px;font-size:clamp(2rem,5vw,3rem);font-weight:800}.section-title span{background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.section-desc{color:var(--text-secondary);max-width:600px;font-size:1.05rem;line-height:1.8}.glass-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(12px);transition:var(--transition)}.glass-card:hover{background:var(--bg-card-hover);border-color:var(--border-glow);box-shadow:var(--shadow-glow);transform:translateY(-4px)}.btn-primary{background:var(--gradient-primary);color:#fff;transition:var(--transition);box-shadow:var(--shadow-button);border-radius:50px;align-items:center;gap:8px;padding:14px 32px;font-family:Outfit,sans-serif;font-size:.95rem;font-weight:600;display:inline-flex}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 32px #7c3aed80}.btn-secondary{color:var(--text-primary);border:1px solid var(--border);transition:var(--transition);background:0 0;border-radius:50px;align-items:center;gap:8px;padding:13px 30px;font-family:Outfit,sans-serif;font-size:.95rem;font-weight:600;display:inline-flex}.btn-secondary:hover{border-color:var(--violet);color:var(--violet-light);background:var(--violet-glow);transform:translateY(-2px)}.badge{background:var(--violet-glow);color:var(--violet-light);border:1px solid #7c3aed4d;border-radius:50px;align-items:center;gap:6px;padding:4px 12px;font-family:Outfit,sans-serif;font-size:12px;font-weight:600;display:inline-flex}.orb{filter:blur(80px);pointer-events:none;z-index:0;border-radius:50%;position:absolute}.orb-1{background:radial-gradient(circle,#7c3aed26,#0000);width:400px;height:400px;animation:8s ease-in-out infinite float1;top:-100px;right:-100px}.orb-2{background:radial-gradient(circle,#06b6d41f,#0000);width:300px;height:300px;animation:10s ease-in-out infinite float2;bottom:100px;left:-80px}@keyframes float1{0%,to{transform:translate(0)scale(1)}50%{transform:translate(-30px,30px)scale(1.05)}}@keyframes float2{0%,to{transform:translate(0)scale(1)}50%{transform:translate(20px,-20px)scale(1.08)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px #7c3aed4d}50%{box-shadow:0 0 40px #7c3aed99,0 0 60px #06b6d433}}.divider{background:linear-gradient(90deg, transparent, var(--border), transparent);height:1px;margin:0}.grid-2{grid-template-columns:repeat(2,1fr);gap:24px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}@media (width<=900px){.grid-3{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.grid-2,.grid-3{grid-template-columns:1fr}}*{scroll-margin-top:80px}.section{opacity:1;transform:none}.navbar{z-index:1000;transition:var(--transition);padding:0;position:fixed;top:0;left:0;right:0}.navbar.scrolled{-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border);background:#050510d9}.navbar-inner{justify-content:space-between;align-items:center;max-width:1100px;margin:0 auto;padding:20px 24px;display:flex}.navbar-logo{background:var(--gradient-primary);-webkit-text-fill-color:transparent;letter-spacing:-.5px;-webkit-background-clip:text;background-clip:text;font-family:Outfit,sans-serif;font-size:1.5rem;font-weight:800}.navbar-links{align-items:center;gap:36px;list-style:none;display:flex}.navbar-links a{color:var(--text-secondary);transition:var(--transition);font-family:Outfit,sans-serif;font-size:.92rem;font-weight:500;position:relative}.navbar-links a:after{content:"";background:var(--gradient-primary);width:0;height:2px;transition:var(--transition);border-radius:2px;position:absolute;bottom:-4px;left:0}.navbar-links a:hover{color:var(--text-primary)}.navbar-links a:hover:after{width:100%}.navbar-cta{background:var(--gradient-primary);color:#fff;transition:var(--transition);border-radius:50px;align-items:center;gap:8px;padding:10px 20px;font-family:Outfit,sans-serif;font-size:.88rem;font-weight:600;display:flex;box-shadow:0 4px 16px #7c3aed4d}.navbar-cta:hover{transform:translateY(-2px);box-shadow:0 8px 24px #7c3aed80}.hamburger{cursor:pointer;background:0 0;flex-direction:column;gap:5px;padding:4px;display:none}.hamburger span{background:var(--text-primary);width:24px;height:2px;transition:var(--transition);border-radius:2px;display:block}.hamburger.open span:first-child{transform:rotate(45deg)translate(5px,5px)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:rotate(-45deg)translate(5px,-5px)}.mobile-menu{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);z-index:999;background:#050510f7;flex-direction:column;justify-content:center;align-items:center;gap:32px;animation:.3s fadeIn;display:none;position:fixed;inset:0}.mobile-menu.open{display:flex}.mobile-menu a{color:var(--text-secondary);transition:var(--transition);font-family:Outfit,sans-serif;font-size:1.8rem;font-weight:700}.mobile-menu a:hover{color:var(--violet-light)}@media (width<=768px){.hamburger{z-index:1001;display:flex}.navbar-links,.navbar-cta{display:none}}.hero{align-items:center;min-height:100vh;padding-top:80px;display:flex;position:relative;overflow:hidden}.hero-bg{z-index:0;position:absolute;inset:0}.hero-grid{background-image:linear-gradient(#7c3aed0a 1px,#0000 1px),linear-gradient(90deg,#7c3aed0a 1px,#0000 1px);background-size:60px 60px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000 40%,#0000 80%);mask-image:radial-gradient(#000 40%,#0000 80%)}.hero-content{z-index:1;width:100%;position:relative}.hero-inner{grid-template-columns:1fr 1fr;align-items:center;gap:60px;max-width:1100px;margin:0 auto;padding:0 24px;display:grid}.hero-left{animation:.8s forwards slideInLeft}.hero-greeting{color:var(--violet-light);letter-spacing:.5px;background:#7c3aed1a;border:1px solid #7c3aed40;border-radius:50px;align-items:center;gap:10px;margin-bottom:24px;padding:8px 18px;font-family:Outfit,sans-serif;font-size:.85rem;font-weight:600;display:inline-flex}.hero-greeting .dot{background:var(--cyan);border-radius:50%;width:8px;height:8px;animation:2s infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.hero-name{letter-spacing:-2px;color:var(--text-primary);margin-bottom:8px;font-size:clamp(2.8rem,7vw,4.5rem);font-weight:900;line-height:1.05}.hero-name .gradient-text{background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero-role{color:var(--text-secondary);letter-spacing:-.5px;margin-bottom:24px;font-size:clamp(1.2rem,3vw,1.6rem);font-weight:400}.hero-role span{color:var(--cyan);font-weight:600}.hero-bio{color:var(--text-secondary);max-width:480px;margin-bottom:40px;font-size:1.05rem;line-height:1.8}.hero-actions{flex-wrap:wrap;gap:16px;margin-bottom:48px;display:flex}.hero-stats{gap:40px;display:flex}.stat-item{flex-direction:column;gap:4px;display:flex}.stat-number{background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-family:Outfit,sans-serif;font-size:2rem;font-weight:800;line-height:1}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-size:.8rem;font-weight:500}.hero-right{justify-content:center;animation:.8s forwards slideInRight;display:flex}.avatar-container{width:340px;height:340px;position:relative}.avatar-ring{background:var(--gradient-primary);border-radius:50%;padding:3px;animation:8s linear infinite spin-slow;position:absolute;inset:-4px}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.avatar-ring-inner{background:var(--bg-primary);border-radius:50%;width:100%;height:100%}.avatar-circle{background:var(--gradient-hero);box-shadow:inset 0 0 60px #0003, var(--shadow-glow);-webkit-user-select:none;user-select:none;border-radius:50%;justify-content:center;align-items:center;animation:4s infinite pulse-glow;display:flex;position:absolute;inset:8px;overflow:hidden}.avatar-photo{object-fit:cover;object-position:top center;border-radius:50%;width:100%;height:100%;display:block;transform:scale(1.1)translateY(-5%)}.avatar-fallback{color:#fff;text-shadow:0 4px 24px #0000004d;font-family:Outfit,sans-serif;font-size:7rem;font-weight:900;display:none}.avatar-circle:after{content:"";pointer-events:none;z-index:1;background:radial-gradient(circle at 30% 25%,#ffffff14,#0000 60%);border-radius:50%;position:absolute;inset:0}.skill-chip{border:1px solid var(--border);color:var(--text-primary);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);white-space:nowrap;box-shadow:var(--shadow-card);background:#050510e6;border-radius:50px;align-items:center;gap:8px;padding:8px 16px;font-family:Outfit,sans-serif;font-size:.8rem;font-weight:600;display:flex;position:absolute}.skill-chip .chip-dot{border-radius:50%;width:8px;height:8px}.chip-react{animation:4s ease-in-out infinite float1;top:20px;right:-30px}.chip-aws{animation:5s ease-in-out infinite float2;bottom:60px;right:-40px}.chip-figma{animation:6s ease-in-out infinite float1;bottom:20px;left:-20px}.scroll-indicator{opacity:.5;flex-direction:column;align-items:center;gap:8px;animation:2s infinite bounce;display:flex;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.scroll-indicator span{color:var(--text-muted);letter-spacing:2px;text-transform:uppercase;font-family:Outfit,sans-serif;font-size:.75rem}.scroll-mouse{border:2px solid var(--text-muted);border-radius:12px;justify-content:center;width:22px;height:36px;padding-top:6px;display:flex}.scroll-mouse-dot{background:var(--text-muted);border-radius:2px;width:4px;height:8px;animation:2s infinite scroll-dot}@keyframes scroll-dot{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(12px)}}@keyframes bounce{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(-8px)}}.hero-socials{align-items:center;gap:12px;margin-bottom:32px;display:flex}.social-link{border:1px solid var(--border);width:40px;height:40px;color:var(--text-secondary);transition:var(--transition);background:var(--bg-card);border-radius:50%;justify-content:center;align-items:center;display:flex}.social-link:hover{border-color:var(--violet);color:var(--violet-light);background:var(--violet-glow);transform:translateY(-3px)}@media (width<=900px){.hero-inner{text-align:center;grid-template-columns:1fr;gap:40px}.hero-bio{margin:0 auto 40px}.hero-actions,.hero-stats,.hero-socials{justify-content:center}.hero-right{display:none}}@media (width<=480px){.hero{padding-top:100px}.hero-stats{gap:24px}}.about-inner{grid-template-columns:340px 1fr;align-items:start;gap:60px;display:grid}.about-card{padding:32px;position:relative;overflow:hidden}.about-card:before{content:"";background:var(--gradient-primary);height:3px;position:absolute;top:0;left:0;right:0}.about-avatar-mini{background:var(--gradient-hero);color:#fff;width:90px;height:90px;box-shadow:var(--shadow-glow);outline-offset:2px;background-clip:padding-box;border:3px solid #0000;border-radius:50%;outline:3px solid #7c3aed80;justify-content:center;align-items:center;margin-bottom:16px;font-family:Outfit,sans-serif;font-size:1.8rem;font-weight:800;display:flex;overflow:hidden}.about-avatar-img{object-fit:cover;object-position:top center;border-radius:50%;width:100%;height:100%;display:block;transform:scale(1.1)translateY(-5%)}.about-card-name{color:var(--text-primary);margin-bottom:4px;font-size:1.2rem;font-weight:700}.about-card-role{color:var(--cyan);margin-bottom:16px;font-size:.9rem;font-weight:500}.about-card-badges{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.about-info-list{flex-direction:column;gap:12px;margin-bottom:20px;display:flex}.info-row{color:var(--text-secondary);word-break:break-all;align-items:center;gap:10px;font-size:.82rem;display:flex}.info-row svg{color:var(--violet);flex-shrink:0}.about-availability{color:#4ade80;background:#22c55e14;border:1px solid #22c55e33;border-radius:8px;align-items:center;gap:8px;padding:10px 16px;font-size:.82rem;font-weight:500;display:flex}.avail-dot{background:#4ade80;border-radius:50%;width:8px;height:8px;animation:2s infinite pulse-dot}.about-para{color:var(--text-secondary);margin-bottom:18px;font-size:1.02rem;line-height:1.85}.about-para strong{color:var(--text-primary);font-weight:600}.about-highlights{grid-template-columns:1fr 1fr;gap:16px;margin-top:32px;display:grid}.highlight-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);transition:var(--transition);align-items:flex-start;gap:14px;padding:20px;display:flex}.highlight-item:hover{border-color:var(--border-glow);background:var(--bg-card-hover)}.highlight-icon{flex-shrink:0;font-size:1.6rem}.highlight-item h4{color:var(--text-primary);margin-bottom:2px;font-size:.9rem;font-weight:700}.highlight-item p{color:var(--text-secondary);font-size:.8rem}@media (width<=900px){.about-inner{grid-template-columns:1fr}.about-card{max-width:400px}}@media (width<=480px){.about-highlights{grid-template-columns:1fr}}.skills-section{background:var(--bg-secondary);position:relative;overflow:hidden}.skills-header{margin-bottom:60px}.skills-grid{grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:60px;display:grid}.skill-category-card{padding:28px}.skill-cat-header{align-items:center;gap:14px;margin-bottom:24px;display:flex}.skill-cat-icon{border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.2rem;display:flex}.skill-cat-title{color:var(--text-primary);font-size:1.05rem;font-weight:700}.skill-bars{flex-direction:column;gap:18px;display:flex}.skill-bar-item{flex-direction:column;gap:8px;display:flex}.skill-bar-top{justify-content:space-between;align-items:center;display:flex}.skill-name{color:var(--text-secondary);font-size:.88rem;font-weight:500}.skill-pct{font-family:Outfit,sans-serif;font-size:.82rem;font-weight:700}.skill-track{background:#ffffff0f;border-radius:10px;height:6px;overflow:hidden}.skill-fill{transform-origin:0;border-radius:10px;height:100%;animation:1.2s cubic-bezier(.4,0,.2,1) forwards grow-bar}@keyframes grow-bar{0%{opacity:0;width:0!important}to{opacity:1}}.tech-stack-section{text-align:center;margin-top:60px}.tech-stack-title{color:var(--text-secondary);letter-spacing:.5px;margin-bottom:28px;font-size:1.1rem;font-weight:600}.tech-scroll-wrapper{width:100%;padding:8px 0;position:relative;overflow:hidden}.tech-scroll-wrapper:before,.tech-scroll-wrapper:after{content:"";z-index:2;pointer-events:none;width:80px;position:absolute;top:0;bottom:0}.tech-scroll-wrapper:before{background:linear-gradient(to right, var(--bg-secondary), transparent);left:0}.tech-scroll-wrapper:after{background:linear-gradient(to left, var(--bg-secondary), transparent);right:0}.tech-scroll-track{gap:14px;width:max-content;animation:22s linear infinite scroll-marquee;display:flex}.tech-scroll-track:hover{animation-play-state:paused}@keyframes scroll-marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.tech-pill{transition:var(--transition);cursor:default;white-space:nowrap;border-radius:50px;flex-shrink:0;align-items:center;gap:8px;padding:10px 20px;font-family:Outfit,sans-serif;font-size:.88rem;font-weight:600;display:flex}.tech-pill:hover{filter:brightness(1.2);transform:translateY(-3px)scale(1.05)}@media (width<=900px){.skills-grid{grid-template-columns:1fr 1fr}}@media (width<=600px){.skills-grid{grid-template-columns:1fr}}.projects-section{position:relative}.projects-header{margin-bottom:60px}.projects-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.project-card{transition:var(--transition);flex-direction:column;display:flex;position:relative;overflow:hidden}.project-card.featured{box-shadow:0 4px 24px #7c3aed1a}.project-top-bar{width:100%;height:4px}.project-content{flex-direction:column;flex:1;gap:16px;padding:24px;display:flex}.project-header{align-items:center;gap:14px;display:flex}.project-icon-wrap{border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:50px;height:50px;display:flex}.project-icon{font-size:1.4rem}.project-name{color:var(--text-primary);margin-bottom:2px;font-size:1.1rem;font-weight:700}.project-tagline{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.78rem;font-weight:500}.project-badge{display:flex}.project-badge span{background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);border-radius:50px;padding:4px 12px;font-size:.78rem;font-weight:600}.project-desc{color:var(--text-secondary);flex:1;font-size:.9rem;line-height:1.75}.project-tech{flex-wrap:wrap;gap:8px;display:flex}.tech-tag{background:var(--violet-glow);color:var(--violet-light);border:1px solid #7c3aed40;border-radius:50px;padding:4px 12px;font-family:Outfit,sans-serif;font-size:.75rem;font-weight:600}.project-links{border-top:1px solid var(--border);flex-wrap:wrap;gap:10px;padding-top:8px;display:flex}.project-link{transition:var(--transition);border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-family:Outfit,sans-serif;font-size:.82rem;font-weight:600;display:inline-flex}.github-link{color:var(--text-secondary);border:1px solid var(--border);background:#ffffff0f}.github-link:hover{color:var(--text-primary);background:#ffffff1f}.live-link{background:var(--violet-glow);color:var(--violet-light);border:1px solid #7c3aed4d}.live-link:hover{background:#7c3aed40}.demo-link{color:var(--cyan);background:#06b6d41a;border:1px solid #06b6d440}.demo-link:hover{background:#06b6d433}@media (width<=900px){.projects-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.projects-grid{grid-template-columns:1fr}}.experience-section{background:var(--bg-secondary);position:relative}.experience-header{margin-bottom:60px}.timeline{flex-direction:column;gap:40px;max-width:900px;margin:0 auto;display:flex;position:relative}.timeline-line{background:linear-gradient(to bottom, var(--violet), var(--cyan));opacity:.3;width:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.timeline-item{grid-template-columns:1fr 60px 1fr;align-items:start;gap:0;display:grid;position:relative}.timeline-item.left .timeline-card{text-align:right;grid-area:1/1}.timeline-item.left .timeline-dot{grid-area:1/2;justify-self:center}.timeline-item.left .timeline-card .exp-skills{justify-content:flex-end}.timeline-item.right .timeline-card{grid-area:1/3}.timeline-item.right .timeline-dot{grid-area:1/2;justify-self:center}.timeline-dot{z-index:1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:50px;height:50px;margin-top:20px;font-size:1.3rem;display:flex;position:relative}.timeline-card{padding:24px;position:relative}.exp-card-top{margin-bottom:14px}.exp-type-badge{letter-spacing:1px;text-transform:uppercase;border-radius:50px;margin-bottom:8px;padding:3px 10px;font-family:Outfit,sans-serif;font-size:.72rem;font-weight:700;display:inline-block}.exp-role{color:var(--text-primary);margin-bottom:4px;font-size:1.1rem;font-weight:700}.exp-company{color:var(--text-secondary);margin-bottom:6px;font-size:.9rem;font-weight:500}.exp-period{color:var(--text-muted);align-items:center;gap:6px;font-size:.8rem;display:flex}.timeline-item.left .exp-period{justify-content:flex-end}.exp-description{color:var(--text-secondary);margin-bottom:14px;font-size:.87rem;line-height:1.75}.exp-skills{flex-wrap:wrap;gap:8px;margin-bottom:24px;display:flex}.exp-skill-tag{color:var(--text-secondary);border:1px solid var(--border);background:#ffffff0d;border-radius:6px;padding:4px 10px;font-family:Outfit,sans-serif;font-size:.75rem;font-weight:600}.exp-cert-link{transition:var(--transition);border:1px solid;border-radius:8px;align-items:center;gap:8px;padding:8px 16px;font-family:Outfit,sans-serif;font-size:.82rem;font-weight:600;display:inline-flex}.exp-cert-link:hover{filter:brightness(1.2);transform:translateY(-2px)}@media (width<=768px){.timeline-line{left:24px}.timeline-item{grid-template-rows:auto;grid-template-columns:60px 1fr}.timeline-item.left .timeline-card,.timeline-item.right .timeline-card{text-align:left;grid-area:1/2}.timeline-item.left .timeline-dot,.timeline-item.right .timeline-dot{grid-area:1/1;justify-self:center;margin-top:20px}.timeline-item.left .timeline-card .exp-skills,.timeline-item.left .exp-period{justify-content:flex-start}}.achievements-section{background:var(--bg-primary);position:relative;overflow:hidden}.achievements-header{margin-bottom:60px}.certs-grid{grid-template-columns:repeat(2,1fr);align-items:stretch;gap:32px;display:grid}.cert-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:var(--transition);background:var(--bg-card);border:1px solid var(--border);flex-direction:column;display:flex;overflow:hidden}.cert-card:hover{border-color:var(--border-glow);transform:translateY(-6px);box-shadow:0 20px 60px #0006}.cert-header{flex-shrink:0;padding:28px 24px 40px;position:relative;overflow:hidden}.cert-header-pattern{background-image:radial-gradient(#ffffff0d 1px,#0000 1px);background-size:20px 20px;position:absolute;inset:0}.cert-header-content{z-index:1;align-items:center;gap:16px;display:flex;position:relative}.cert-main-icon{filter:drop-shadow(0 4px 12px #0000004d);font-size:2.6rem}.cert-title{color:#fff;text-shadow:0 2px 8px #0000004d;font-size:1.25rem;font-weight:800}.cert-sub{color:#ffffffb3;text-transform:uppercase;letter-spacing:2px;font-size:.75rem;font-weight:500}.cert-ribbon{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#00000059;border:1px solid #ffffff26;border-bottom:none;border-radius:8px 8px 0 0;padding:5px 14px;position:absolute;bottom:-1px;right:20px}.cert-ribbon span{color:#fff;letter-spacing:.5px;font-family:Outfit,sans-serif;font-size:.75rem;font-weight:700}.cert-body{flex-direction:column;flex:1;gap:12px;padding:24px;display:flex}.cert-event-info{flex-direction:column;gap:6px;display:flex}.cert-event{color:var(--text-primary);font-size:1.1rem;font-weight:700}.cert-org,.cert-team{color:var(--text-secondary);align-items:center;gap:8px;font-size:.85rem;display:flex}.cert-org svg,.cert-team svg{color:var(--violet);flex-shrink:0}.cert-desc{color:var(--text-secondary);flex:1;font-size:.9rem;line-height:1.75}.cert-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;margin-top:auto;padding-top:16px;display:flex}.cert-project-tag{color:var(--violet-light);background:var(--violet-glow);border:1px solid #7c3aed40;border-radius:50px;align-items:center;gap:8px;padding:5px 14px;font-family:Outfit,sans-serif;font-size:.78rem;font-weight:600;display:inline-flex}.cert-open-link{transition:var(--transition);white-space:nowrap;border:1px solid;border-radius:8px;align-items:center;gap:8px;padding:8px 18px;font-family:Outfit,sans-serif;font-size:.85rem;font-weight:600;display:inline-flex}.cert-open-link:hover{filter:brightness(1.15);transform:translateY(-2px)}@media (width<=768px){.certs-grid{grid-template-columns:1fr}}.contact-section{background:var(--bg-secondary);position:relative;overflow:hidden}.contact-inner{grid-template-columns:1fr 1fr;align-items:start;gap:60px;display:grid}.contact-desc{color:var(--text-secondary);margin-bottom:36px;font-size:1.02rem;line-height:1.8}.contact-cards{flex-direction:column;gap:16px;margin-bottom:32px;display:flex}.contact-info-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);transition:var(--transition);align-items:center;gap:16px;padding:18px 20px;display:flex}.contact-info-card:hover{border-color:var(--border-glow);background:var(--bg-card-hover)}.contact-icon-wrap{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.contact-info-text{flex-direction:column;flex:1;gap:2px;display:flex}.contact-info-label{text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);font-family:Outfit,sans-serif;font-size:.72rem;font-weight:700}.contact-info-value{color:var(--text-primary);font-size:.9rem;font-weight:500}.copy-btn{background:var(--bg-card);border:1px solid var(--border);width:36px;height:36px;color:var(--text-muted);cursor:pointer;transition:var(--transition);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.copy-btn:hover{border-color:var(--violet);color:var(--violet-light);background:var(--violet-glow)}.contact-social-links{flex-wrap:wrap;gap:12px;display:flex}.contact-social-btn{transition:var(--transition);border-radius:12px;align-items:center;gap:8px;padding:12px 20px;font-family:Outfit,sans-serif;font-size:.88rem;font-weight:600;display:inline-flex}.contact-social-btn.linkedin{color:#60a5fa;background:#0a66c21f;border:1px solid #0a66c24d}.contact-social-btn.linkedin:hover{background:#0a66c238;transform:translateY(-2px)}.contact-social-btn.github{color:var(--text-secondary);border:1px solid var(--border);background:#ffffff0f}.contact-social-btn.github:hover{color:var(--text-primary);background:#ffffff1f;transform:translateY(-2px)}.contact-social-btn.email{background:var(--violet-glow);color:var(--violet-light);border:1px solid #7c3aed4d}.contact-social-btn.email:hover{background:#7c3aed40;transform:translateY(-2px)}.contact-right{position:relative}.contact-cta-card{border:1px solid var(--border-glow);border-radius:var(--radius-xl);background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:relative;overflow:hidden}.cta-card-glow{background:var(--gradient-primary);border-radius:var(--radius-xl);opacity:.15;z-index:0;filter:blur(20px);animation:4s infinite pulse-glow;position:absolute;inset:-2px}.cta-card-content{z-index:1;text-align:center;padding:48px 40px;position:relative}.cta-emoji{margin-bottom:20px;font-size:3.5rem;animation:2s infinite wave}@keyframes wave{0%,to{transform:rotate(0)}20%{transform:rotate(20deg)}40%{transform:rotate(-10deg)}60%{transform:rotate(20deg)}80%{transform:rotate(-5deg)}}.cta-title{color:var(--text-primary);margin-bottom:16px;font-size:1.4rem;font-weight:800;line-height:1.3}.cta-desc{color:var(--text-secondary);margin-bottom:32px;font-size:.92rem;line-height:1.75}.cta-btn{justify-content:center;width:100%;margin-bottom:20px;padding:16px;font-size:1rem}.cta-divider{color:var(--text-muted);align-items:center;gap:12px;margin-bottom:16px;font-size:.82rem;display:flex}.cta-divider:before,.cta-divider:after{content:"";background:var(--border);flex:1;height:1px}.cta-linkedin-btn{color:#60a5fa;width:100%;transition:var(--transition);background:#0a66c21f;border:1px solid #0a66c24d;border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:14px;font-family:Outfit,sans-serif;font-size:.95rem;font-weight:600;display:flex}.cta-linkedin-btn:hover{background:#0a66c238;transform:translateY(-2px)}@media (width<=900px){.contact-inner{grid-template-columns:1fr}}@media (width<=480px){.cta-card-content{padding:32px 24px}.contact-social-links{flex-direction:column}.contact-social-btn{justify-content:center}}.footer{background:var(--bg-primary);border-top:1px solid var(--border);padding-top:60px;padding-bottom:40px}.footer-top-line{background:var(--gradient-primary);opacity:.5;height:2px}.footer-inner{grid-template-columns:2fr 1fr 1fr;gap:48px;padding:40px 0 32px;display:grid}.footer-logo{background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:12px;font-family:Outfit,sans-serif;font-size:2rem;font-weight:900;display:block}.footer-tagline{color:var(--text-muted);max-width:240px;font-size:.9rem;line-height:1.6}.footer-links-group h4{letter-spacing:2px;text-transform:uppercase;color:var(--text-secondary);margin-bottom:16px;font-family:Outfit,sans-serif;font-size:.82rem;font-weight:700}.footer-links-group ul{flex-direction:column;gap:10px;list-style:none;display:flex}.footer-links-group ul a{color:var(--text-muted);transition:var(--transition);font-size:.9rem}.footer-links-group ul a:hover{color:var(--violet-light);padding-left:4px}.footer-bottom{border-top:1px solid var(--border);color:var(--text-muted);justify-content:space-between;align-items:center;padding-top:24px;font-size:.85rem;display:flex}.footer-bottom span{color:var(--violet-light);font-weight:600}.footer-made{align-items:center;gap:6px;display:flex}.heart{animation:1.5s infinite heartbeat}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}@media (width<=768px){.footer-inner{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}@media (width<=480px){.footer-inner{grid-template-columns:1fr}.footer-bottom{text-align:center;flex-direction:column;gap:8px}}
