:root{--primary: #2563eb;--primary-dark: #1e40af;--text-primary: #1f2937;--text-secondary: #6b7280;--background: #ffffff;--background-alt: #f9fafb;--border: #e5e7eb;--shadow: rgba(0, 0, 0, .1);--shadow-lg: rgba(0, 0, 0, .15)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text-primary);line-height:1.6;background-color:var(--background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}.container{max-width:auto;margin:0 auto;padding:0 2rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;background-color:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid transparent;transition:all .4s cubic-bezier(.4,0,.2,1);animation:fadeInDown .6s ease-out}.navbar.scrolled{background-color:#fffffffa;border-bottom-color:var(--border);box-shadow:0 4px 20px var(--shadow)}.navbar-content{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 2rem}.logo{font-size:1.5rem;font-weight:700;color:var(--text-primary);text-decoration:none;transition:all .3s ease;animation:slideInLeft .6s ease-out}.logo:hover{color:var(--primary);transform:scale(1.05)}.nav-menu{display:flex;list-style:none;gap:2rem;align-items:center}.nav-item-animated{opacity:0;transform:translateY(-20px);transition:all .3s ease}.nav-item-animated.nav-item-visible{opacity:1;transform:translateY(0)}.nav-link{color:var(--text-secondary);text-decoration:none;font-weight:500;font-size:.95rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;padding:.5rem 0}.nav-link:before{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:linear-gradient(90deg,var(--primary),#3b82f6);transition:width .3s ease}.nav-link:hover{color:var(--primary);transform:translateY(-2px)}.nav-link:hover:before{width:100%}.hero{min-height:100vh;display:flex;align-items:center;padding:6rem 0 4rem;background:linear-gradient(135deg,#f9fafb,#fff);position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:-50%;right:-20%;width:500px;height:500px;background:radial-gradient(circle,rgba(37,99,235,.1) 0%,transparent 70%);animation:float 6s ease-in-out infinite}.hero:after{content:"";position:absolute;bottom:-30%;left:-10%;width:400px;height:400px;background:radial-gradient(circle,rgba(59,130,246,.08) 0%,transparent 70%);animation:float 8s ease-in-out infinite;animation-delay:1s}.hero-content{max-width:800px;position:relative;z-index:1}.hero-wrapper{display:flex;align-items:center;gap:4rem}.hero-image{flex-shrink:0;animation:fadeInUp 1s ease-out}.hero-image img{width:280px;height:280px;object-fit:cover;border-radius:50%;border:6px solid white;box-shadow:0 10px 40px var(--shadow-lg);transition:all .4s ease}.hero-image img:hover{transform:scale(1.05);box-shadow:0 20px 60px var(--shadow-lg);cursor:pointer}.hero-content.floating{animation:float 4s ease-in-out infinite}.text-animate{opacity:0;transform:translateY(30px);transition:all .8s cubic-bezier(.4,0,.2,1)}.text-animate.animate-in{opacity:1;transform:translateY(0)}.hero-greeting{color:var(--primary);font-size:1.125rem;font-weight:600;margin-bottom:.5rem;letter-spacing:1px;text-transform:uppercase}.hero-greeting.animate-in{animation:slideInLeft .8s ease-out}.hero-title{font-size:4rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem;line-height:1.1;background:linear-gradient(135deg,var(--text-primary) 0%,var(--primary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-title.animate-in{animation:fadeInUp 1s ease-out .2s both}.hero-subtitle{font-size:2rem;font-weight:600;color:var(--text-secondary);margin-bottom:1.5rem}.hero-subtitle.animate-in{animation:fadeInUp 1s ease-out .4s both}.hero-description{font-size:1.125rem;color:var(--text-secondary);margin-bottom:2.5rem;line-height:1.8;max-width:600px}.hero-description.animate-in{animation:fadeInUp 1s ease-out .6s both}.hero-buttons{display:flex;gap:1rem;flex-wrap:wrap}.hero-buttons.animate-in{animation:fadeInUp 1s ease-out .8s both}.btn{display:inline-block;padding:.875rem 2rem;border-radius:8px;font-weight:600;font-size:1rem;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;border:2px solid transparent;position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn:hover:before{width:300px;height:300px}.btn-primary{background:linear-gradient(135deg,var(--primary) 0%,#3b82f6 100%);color:#fff;box-shadow:0 4px 15px #2563eb33}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 8px 25px #2563eb66}.btn-outline{border-color:var(--primary);color:var(--primary);background-color:transparent}.btn-outline:hover{background-color:var(--primary);color:#fff;transform:translateY(-3px);box-shadow:0 8px 25px #2563eb4d}.btn-animated{animation:pulse 2s ease-in-out infinite}.btn-animated:hover{animation:none}.section{padding:5rem 0;opacity:0;transform:translateY(50px);transition:all .8s cubic-bezier(.4,0,.2,1)}.section.section-visible{opacity:1;transform:translateY(0)}.section-alt{background-color:var(--background-alt);position:relative}.section-title{font-size:2.5rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem;text-align:center;position:relative;display:inline-block;width:100%}.section-title:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:80px;height:4px;background:linear-gradient(90deg,var(--primary),#3b82f6);border-radius:2px;animation:shimmer 2s infinite;background-size:200% 100%}.section-subtitle{font-size:1.125rem;color:var(--text-secondary);text-align:center;margin-bottom:3rem;max-width:600px;margin-left:auto;margin-right:auto;animation:fadeInUp .8s ease-out}.about-content{max-width:800px;margin:0 auto}.about-text p{font-size:1.125rem;color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.8;opacity:0;transform:translate(-30px);transition:all .6s ease}.about-text p.slide-in{opacity:1;transform:translate(0);animation:slideInLeft .8s ease-out}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:3rem}.skill-card{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 2px 8px var(--shadow);transition:all .4s cubic-bezier(.4,0,.2,1);opacity:0;transform:translateY(30px) scale(.9);position:relative;overflow:hidden}.skill-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 .6s}.skill-card:hover:before{left:100%}.skill-card.card-visible{opacity:1;transform:translateY(0) scale(1)}.skill-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 8px 25px var(--shadow-lg)}.skill-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.skill-name{font-weight:600;color:var(--text-primary);font-size:1rem}.skill-level{font-size:.875rem;color:var(--primary);font-weight:600;animation:pulse 2s ease-in-out infinite}.skill-bar{height:8px;background-color:#e5e7eb;border-radius:4px;overflow:hidden;position:relative}.skill-bar:after{content:"";position:absolute;top:0;left:0;height:100%;width:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}.skill-progress{height:100%;background:linear-gradient(90deg,var(--primary) 0%,#3b82f6 100%);width:0;transition:width 1.5s cubic-bezier(.4,0,.2,1);border-radius:4px;position:relative;box-shadow:0 2px 8px #2563eb4d}.resume-content{text-align:center;max-width:600px;margin:0 auto;opacity:0;transform:scale(.8);transition:all .8s cubic-bezier(.4,0,.2,1)}.resume-content.zoom-in{opacity:1;transform:scale(1);animation:scaleIn .8s ease-out}.resume-text{font-size:1.125rem;color:var(--text-secondary);margin-bottom:2rem;line-height:1.8}.cert-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:3rem}.cert-card{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 2px 8px var(--shadow);transition:all .4s cubic-bezier(.4,0,.2,1);border-left:4px solid var(--primary);opacity:0;transform:translate(-30px);position:relative;overflow:hidden}.cert-card:after{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(37,99,235,.05),transparent);transform:rotate(45deg);transition:all .6s}.cert-card:hover:after{right:-200%}.cert-card.card-visible{opacity:1;transform:translate(0)}.cert-card:hover{transform:translateY(-8px) translate(5px);box-shadow:0 12px 30px var(--shadow-lg);border-left-width:6px}.cert-name{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.cert-org{color:var(--text-secondary);margin-bottom:1rem;font-size:.95rem}.cert-link{color:var(--primary);text-decoration:none;font-weight:600;font-size:.95rem;transition:all .3s ease;position:relative}.cert-link:after{content:"→";margin-left:5px;display:inline-block;transition:transform .3s ease}.cert-link:hover:after{transform:translate(5px)}.cert-link:hover{color:var(--primary-dark)}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;margin-top:3rem}.project-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px var(--shadow);transition:all .4s cubic-bezier(.4,0,.2,1);text-decoration:none;color:inherit;display:block;border:1px solid var(--border);opacity:0;transform:translateY(30px) rotateX(10deg);transform-style:preserve-3d;perspective:1000px}.project-card.card-visible{opacity:1;transform:translateY(0) rotateX(0)}.project-card:hover{transform:translateY(-12px) scale(1.03);box-shadow:0 15px 40px var(--shadow-lg);border-color:var(--primary)}.project-content{padding:2rem;position:relative}.project-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem;transition:color .3s ease}.project-card:hover .project-title{color:var(--primary)}.project-desc{color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.6;font-size:.95rem}.project-link-text{color:var(--primary);font-weight:600;font-size:.95rem;display:inline-flex;align-items:center;transition:all .3s ease}.project-card:hover .project-link-text{transform:translate(10px)}.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin:3rem 0}.contact-card{text-align:center;padding:2rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px var(--shadow);transition:all .4s cubic-bezier(.4,0,.2,1);opacity:0;transform:scale(.8)}.contact-card.card-visible{opacity:1;transform:scale(1);animation:scaleIn .6s ease-out}.contact-card:hover{transform:translateY(-8px) scale(1.05);box-shadow:0 12px 30px var(--shadow-lg)}.contact-icon{font-size:2.5rem;margin-bottom:1rem;display:inline-block;animation:bounce 2s ease-in-out infinite}.contact-card:hover .contact-icon{animation:rotate .6s ease-in-out}.contact-card h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem}.contact-link{color:var(--primary);text-decoration:none;font-weight:500;transition:all .3s ease;position:relative}.contact-link:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--primary);transition:width .3s ease}.contact-link:hover:after{width:100%}.contact-link:hover{color:var(--primary-dark)}.contact-text{color:var(--text-secondary)}.social-links{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap;margin-top:2rem}.social-link{padding:.75rem 1.5rem;background:#fff;color:var(--text-primary);text-decoration:none;border-radius:8px;font-weight:600;border:2px solid var(--border);transition:all .4s cubic-bezier(.4,0,.2,1);opacity:0;transform:translateY(20px);position:relative;overflow:hidden}.social-link: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 .6s}.social-link:hover:before{left:100%}.social-link.link-visible{opacity:1;transform:translateY(0)}.social-link:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-5px) scale(1.05);box-shadow:0 8px 20px var(--shadow)}.footer{background-color:var(--text-primary);color:#fff;padding:2rem 0;text-align:center;animation:fadeInUp .8s ease-out}.footer p{margin:.25rem 0;font-size:.95rem}.footer-tagline{color:#ffffffb3;font-size:.875rem;animation:pulse 3s ease-in-out infinite}@media(max-width:768px){.container{padding:0 1.5rem}.navbar-content{padding:1rem 1.5rem}.nav-menu{gap:1rem;flex-wrap:wrap}.nav-link{font-size:.875rem}.hero{padding:5rem 0 3rem}.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.5rem}.hero-description{font-size:1rem}.section{padding:3rem 0}.section-title{font-size:2rem}.skills-grid,.cert-grid,.portfolio-grid{grid-template-columns:1fr}.hero-buttons{flex-direction:column}.btn{width:100%;text-align:center}.hero-wrapper{flex-direction:column;text-align:center;gap:2rem}.hero-image img{width:200px;height:200px}}@media(max-width:480px){.logo{font-size:1.25rem}.nav-menu{display:none}.hero-title{font-size:2rem}.hero-subtitle{font-size:1.25rem}.section-title{font-size:1.75rem}}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--background-alt)}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--primary),#3b82f6);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--primary-dark)}
