:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh;background-color:#0a0e27;color:#b8c5d6}#root{min-height:100vh}.navigation{position:fixed;top:0;left:0;right:0;z-index:1000;background:#0a0e27cc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(79,172,254,.1);transition:all .3s ease}.navigation.scrolled{background:#0a0e27f2;border-bottom-color:#4facfe4d;box-shadow:0 4px 20px #0000004d}.nav-container{max-width:1200px;margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center}.nav-brand a{display:flex;align-items:center;gap:.75rem;font-size:1.5rem;font-weight:800;text-decoration:none;transition:all .3s ease}.nav-brand-photo{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid rgba(79,172,254,.5);transition:all .3s ease}.nav-brand a:hover .nav-brand-photo{border-color:#4facfe;box-shadow:0 0 15px #4facfe99;transform:scale(1.05)}.nav-brand a span{background:linear-gradient(135deg,#4facfe,#00f2fe);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.nav-brand a:hover span{filter:brightness(1.2)}.nav-links{display:flex;list-style:none;gap:2rem;margin:0;padding:0}.nav-links.desktop{display:flex}.nav-links.mobile{display:none}.nav-links li a{color:#b8c5d6;text-decoration:none;font-weight:600;font-size:.95rem;transition:all .3s ease;position:relative;padding:.5rem 0}.nav-links li a:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:linear-gradient(135deg,#4facfe,#00f2fe);transition:width .3s ease}.nav-links li a:hover{color:#4facfe}.nav-links li a:hover:after{width:100%}.mobile-menu-button{display:none;background:none;border:none;cursor:pointer;padding:.5rem}.hamburger{display:flex;flex-direction:column;gap:4px;width:24px}.hamburger span{display:block;width:100%;height:2px;background:#4facfe;transition:all .3s ease}.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(7px,-6px)}@media (max-width: 768px){.nav-links.desktop{display:none}.mobile-menu-button{display:block}.nav-links.mobile{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:#0a0e27fa;border-bottom:1px solid rgba(79,172,254,.2);padding:1rem 0;gap:0;max-height:0;overflow:hidden;transition:max-height .3s ease}.nav-links.mobile.open{max-height:400px}.nav-links.mobile li{padding:0}.nav-links.mobile li a{display:block;padding:1rem 2rem;border-left:3px solid transparent;transition:all .3s ease}.nav-links.mobile li a:hover{background:#4facfe1a;border-left-color:#4facfe}.nav-links.mobile li a:after{display:none}}.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;background:linear-gradient(135deg,#0a0e27,#1a1f3a,#0a0e27);color:#fff;text-align:center;padding:2rem;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 50%,rgba(79,172,254,.15) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(138,43,226,.15) 0%,transparent 50%);animation:pulse 8s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.hero-content{position:relative;z-index:1;max-width:900px;animation:fadeInUp 1s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hero-name{font-size:4rem;font-weight:800;margin-bottom:1rem;background:linear-gradient(135deg,#4facfe,#00f2fe);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:slideInLeft .8s ease-out;text-shadow:0 0 30px rgba(79,172,254,.5)}@keyframes slideInLeft{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}.hero-title{font-size:1.5rem;font-weight:500;margin-bottom:1rem;color:#4facfe;animation:slideInRight .8s ease-out .2s both}@keyframes slideInRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}.hero-location{font-size:1.1rem;margin-bottom:2rem;opacity:.9;animation:fadeIn 1s ease-out .4s both}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.hero-cta{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;animation:fadeInUp 1s ease-out .6s both}.btn{padding:1rem 2rem;font-size:1rem;font-weight:600;text-decoration:none;border-radius:8px;transition:all .3s ease;display:inline-block}.btn-primary{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#0a0e27;box-shadow:0 4px 15px #4facfe66;font-weight:700}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 8px 25px #4facfe99;filter:brightness(1.1)}.btn-secondary{background:transparent;color:#4facfe;border:2px solid #4facfe;font-weight:700}.btn-secondary:hover{background:#4facfe1a;border-color:#00f2fe;color:#00f2fe;transform:translateY(-3px);box-shadow:0 4px 15px #4facfe4d}.scroll-indicator{position:absolute;bottom:2rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;animation:bounce 2s infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.scroll-arrow{width:24px;height:24px;border-left:2px solid white;border-bottom:2px solid white;transform:rotate(-45deg)}@media (max-width: 768px){.hero-name{font-size:2.5rem}.hero-title{font-size:1.2rem}.hero-cta{flex-direction:column;align-items:center}.btn{width:100%;max-width:300px}}.about{padding:5rem 2rem;background:#0f1419;opacity:0;transform:translateY(30px);transition:all .8s ease-out}.about.visible{opacity:1;transform:translateY(0)}.container{max-width:1200px;margin:0 auto}.section-title{font-size:2.5rem;font-weight:800;text-align:center;margin-bottom:3rem;background:linear-gradient(135deg,#4facfe,#00f2fe);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative}.section-title:after{content:"";display:block;width:80px;height:4px;background:linear-gradient(to right,#4facfe,#00f2fe);margin:1rem auto 0;border-radius:2px;box-shadow:0 0 10px #4facfe80}.about-content{max-width:800px;margin:0 auto}.about-text p{font-size:1.1rem;line-height:1.8;color:#b8c5d6;margin-bottom:1.5rem}.about-text p.intro{font-size:1.2rem;color:#e0e7f1;font-weight:500}.about-text p.intro strong{background:linear-gradient(135deg,#4facfe,#00f2fe);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700}.about-text p.cta{margin-top:2rem;padding:1.5rem;background:#4facfe0d;border-left:4px solid #4facfe;border-radius:4px;color:#e0e7f1;font-weight:500}.about-text strong{color:#fff;font-weight:600}@media (max-width: 768px){.about{padding:3rem 1.5rem}.section-title{font-size:2rem}.about-text p{font-size:1rem}}.skills{padding:5rem 2rem;background:#1a1f3a;opacity:0;transform:translateY(30px);transition:all .8s ease-out}.skills.visible{opacity:1;transform:translateY(0)}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;max-width:1200px;margin:0 auto}.skill-category{background:linear-gradient(135deg,#4facfe1a,#00f2fe0d);padding:2rem;border-radius:12px;border:1px solid rgba(79,172,254,.2);box-shadow:0 4px 20px #0000004d;transition:all .3s ease;opacity:0;transform:translateY(20px);animation:fadeInUp .6s ease-out forwards}.skills.visible .skill-category{opacity:1;transform:translateY(0)}.skill-category:hover{transform:translateY(-8px);box-shadow:0 8px 30px #4facfe66;border-color:#4facfe80}.skill-category h3{font-size:1.5rem;color:#4facfe;margin-bottom:1.5rem;font-weight:700}.skill-category ul{list-style:none;padding:0}.skill-category li{padding:.75rem 0;color:#b8c5d6;font-size:1rem;border-bottom:1px solid rgba(79,172,254,.1);transition:all .3s ease}.skill-category li:last-child{border-bottom:none}.skill-category li:hover{color:#4facfe;padding-left:.5rem;text-shadow:0 0 10px rgba(79,172,254,.3)}.cert-item{padding:0!important}.cert-link{display:flex;align-items:center;gap:.5rem;padding:.75rem 0;color:#b8c5d6;text-decoration:none;transition:all .3s ease}.cert-link:hover{color:#4facfe;padding-left:.5rem;text-shadow:0 0 10px rgba(79,172,254,.3)}.cert-icon{font-size:1.2rem;transition:transform .3s ease}.cert-link:hover .cert-icon{transform:scale(1.2) rotate(10deg)}@media (max-width: 768px){.skills{padding:3rem 1.5rem}.skills-grid{grid-template-columns:1fr;gap:1.5rem}}.projects{padding:5rem 2rem;background:#0f1419;opacity:0;transform:translateY(30px);transition:all .8s ease-out}.projects.visible{opacity:1;transform:translateY(0)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;max-width:1200px;margin:0 auto}.project-card{background:linear-gradient(135deg,#4facfe0d,#00f2fe05);border-radius:12px;overflow:hidden;border:1px solid rgba(79,172,254,.2);box-shadow:0 4px 20px #0000004d;transition:all .3s ease;opacity:0;transform:translateY(20px);animation:fadeInUp .6s ease-out forwards}.projects.visible .project-card{opacity:1;transform:translateY(0)}.project-card:hover{transform:translateY(-10px);box-shadow:0 12px 40px #4facfe66;border-color:#4facfe80}.project-content{padding:2rem}.project-card h3{font-size:1.5rem;color:#4facfe;margin-bottom:1rem;font-weight:700}.project-description{color:#b8c5d6;line-height:1.6;margin-bottom:1.5rem}.project-tech{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.tech-tag{background:#4facfe26;color:#4facfe;padding:.4rem .8rem;border-radius:20px;border:1px solid rgba(79,172,254,.3);font-size:.85rem;font-weight:600}.project-links{display:flex;gap:1rem;flex-wrap:wrap}.project-link{color:#4facfe;text-decoration:none;font-weight:700;transition:all .3s ease;display:inline-flex;align-items:center;gap:.5rem}.project-link:hover{color:#00f2fe;transform:translate(5px);text-shadow:0 0 10px rgba(79,172,254,.5)}@media (max-width: 768px){.projects{padding:3rem 1.5rem}.projects-grid{grid-template-columns:1fr}}.certifications{padding:5rem 2rem;background:#0a0e27;opacity:0;transform:translateY(30px);transition:all .8s ease-out}.certifications.visible{opacity:1;transform:translateY(0)}.cert-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:3rem;margin-bottom:3rem}.cert-category-title{font-size:1.5rem;font-weight:700;color:#4facfe;margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:2px solid rgba(79,172,254,.3)}.cert-list{display:flex;flex-direction:column;gap:1rem}.cert-card{background:#0f142d99;border:1px solid rgba(79,172,254,.2);border-radius:8px;padding:1.5rem;transition:all .3s ease;position:relative;display:block;text-decoration:none;color:inherit}.cert-card.clickable{cursor:pointer}.cert-card:hover{transform:translateY(-2px);border-color:#4facfe80;box-shadow:0 4px 20px #4facfe1a}.cert-icon-badge{position:absolute;top:1rem;left:1rem;font-size:2rem;opacity:0;transform:scale(.5) rotate(-20deg);transition:all .4s cubic-bezier(.68,-.55,.265,1.55)}.cert-card.clickable:hover .cert-icon-badge{opacity:1;transform:scale(1) rotate(0)}.cert-icon-badge.progress-icon{animation:float 2s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0) scale(.5) rotate(-20deg)}50%{transform:translateY(-5px) scale(.5) rotate(-20deg)}}.cert-card.clickable:hover .cert-icon-badge.progress-icon{animation:none;transform:scale(1) rotate(0)}.cert-card.highlight{border-color:#4facfe80;background:#4facfe0d}.cert-card.in-progress{border-style:dashed;border-color:#00f2fe4d;background:#00f2fe08}.cert-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.5rem}.cert-name{font-size:1.1rem;font-weight:600;color:#e0e7f1;margin:0;flex:1}.cert-year,.cert-expected{font-size:.9rem;font-weight:600;color:#4facfe;white-space:nowrap}.cert-expected{color:#00f2fe}.cert-issuer{font-size:.95rem;color:#b8c5d6;margin:0}.cert-details{font-size:.9rem;color:#8b98a9;margin:.5rem 0 0;font-style:italic}.special-recognition{margin-top:3rem;display:flex;justify-content:center}.recognition-card{background:linear-gradient(135deg,#4facfe1a,#00f2fe1a);border:2px solid rgba(79,172,254,.4);border-radius:12px;padding:2rem;max-width:600px;text-align:center;position:relative;overflow:hidden}.recognition-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(79,172,254,.1) 0%,transparent 70%);animation:pulse 3s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.1);opacity:.8}}.recognition-card h4{font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#4facfe,#00f2fe);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0 0 1rem;position:relative;z-index:1}.recognition-card p{color:#e0e7f1;margin:.5rem 0;position:relative;z-index:1}.recognition-card p strong{color:#fff;font-weight:600}.recognition-description{color:#b8c5d6!important;font-size:.95rem;margin-bottom:1.5rem!important}.recognition-link{display:inline-block;margin-top:1rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#4facfe,#00f2fe);color:#0a0e27;text-decoration:none;border-radius:6px;font-weight:600;transition:all .3s ease;position:relative;z-index:1}.recognition-link:hover{transform:translateY(-2px);box-shadow:0 4px 15px #4facfe66}@media (max-width: 768px){.certifications{padding:3rem 1.5rem}.cert-grid{grid-template-columns:1fr;gap:2rem}.cert-header{flex-direction:column;align-items:flex-start}.cert-year,.cert-expected{margin-top:.25rem}.recognition-card{padding:1.5rem}.recognition-card h4{font-size:1.25rem}}.experience{padding:5rem 2rem;background:#1a1f3a;opacity:0;transform:translateY(30px);transition:all .8s ease-out}.experience.visible{opacity:1;transform:translateY(0)}.experience-content{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:3rem}.certifications h3,.articles h3{font-size:1.8rem;color:#4facfe;margin-bottom:1.5rem;font-weight:700}.cert-list{list-style:none;padding:0}.cert-list li{padding:1rem;margin-bottom:.75rem;background:#4facfe0d;border:1px solid rgba(79,172,254,.2);border-radius:8px;display:flex;align-items:center;gap:1rem;transition:all .3s ease;opacity:0;transform:translate(-20px);animation:slideInLeft .5s ease-out forwards;color:#b8c5d6}.experience.visible .cert-list li{opacity:1;transform:translate(0)}.cert-list li:hover{background:#4facfe1a;border-color:#4facfe80;transform:translate(5px);box-shadow:0 4px 15px #4facfe33}.cert-list li.clickable{cursor:pointer}.cert-list li.clickable:hover{transform:translate(8px);box-shadow:0 6px 20px #4facfe66}.cert-link{display:flex;align-items:center;gap:1rem;width:100%;text-decoration:none;color:inherit}.cert-name{flex:1}.cert-badge{font-size:1.2rem;opacity:0;transition:all .3s ease}.cert-list li.clickable:hover .cert-badge{opacity:1;transform:scale(1.2)}.cert-icon{width:24px;height:24px;background:linear-gradient(135deg,#4facfe,#00f2fe);color:#0a0e27;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-weight:700;box-shadow:0 0 10px #4facfe80}.article-list{list-style:none;padding:0}.article-list li{margin-bottom:1rem}.article-list a{display:block;padding:1.5rem;background:#4facfe0d;border:1px solid rgba(79,172,254,.2);border-radius:8px;color:#4facfe;text-decoration:none;font-weight:600;transition:all .3s ease}.article-list a:hover{background:#4facfe1a;border-color:#4facfe80;transform:translate(5px);box-shadow:0 4px 15px #4facfe33;color:#00f2fe}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@media (max-width: 768px){.experience{padding:3rem 1.5rem}.experience-content{grid-template-columns:1fr;gap:2rem}}.contact{padding:5rem 2rem;background:linear-gradient(135deg,#0a0e27,#1a1f3a,#0a0e27);color:#fff;opacity:0;transform:translateY(30px);transition:all .8s ease-out}.contact.visible{opacity:1;transform:translateY(0)}.contact .section-title{color:#fff}.contact .section-title:after{background:#fff}.contact-intro{text-align:center;font-size:1.2rem;max-width:600px;margin:0 auto 2rem;opacity:.95}.contact-form{max-width:600px;margin:0 auto 3rem;opacity:0;transform:translateY(20px);animation:fadeInUp .6s ease-out .2s forwards}.form-group{margin-bottom:1.5rem}.form-input{width:100%;padding:1rem 1.5rem;background:#ffffff1a;border:2px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;font-size:1rem;font-family:inherit;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.form-input::placeholder{color:#fff9}.form-input:focus{outline:none;border-color:#ffffff80;background:#ffffff26}textarea.form-input{resize:vertical;min-height:150px}.submit-btn{width:100%;padding:1rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 25px #667eea66}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.form-status{padding:1rem;border-radius:8px;margin-bottom:1rem;text-align:center;font-weight:500;animation:slideIn .3s ease-out}.form-status.success{background:#4caf5033;border:1px solid rgba(76,175,80,.5);color:#a5d6a7}.form-status.error{background:#f4433633;border:1px solid rgba(244,67,54,.5);color:#ef9a9a}.contact-divider{text-align:center;margin:3rem 0 2rem;position:relative}.contact-divider:before,.contact-divider:after{content:"";position:absolute;top:50%;width:40%;height:1px;background:#fff3}.contact-divider:before{left:0}.contact-divider:after{right:0}.contact-divider span{background:#0a0e27;padding:0 1rem;color:#ffffffb3;font-size:.9rem;text-transform:uppercase;letter-spacing:1px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.contact-methods{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;max-width:1000px;margin:0 auto 3rem}.contact-card{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:2rem;border-radius:12px;text-align:center;text-decoration:none;color:#fff;transition:all .3s ease;border:1px solid rgba(255,255,255,.2);opacity:0;transform:scale(.9);animation:scaleIn .5s ease-out forwards}.contact.visible .contact-card{opacity:1;transform:scale(1)}.contact-card:hover{background:#fff3;transform:translateY(-5px) scale(1.02);box-shadow:0 10px 30px #0000004d}.contact-icon{font-size:3rem;margin-bottom:1rem}.contact-card h3{font-size:1.3rem;margin-bottom:.5rem;font-weight:600}.contact-card p{opacity:.9;font-size:1rem}.additional-links{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap;padding-top:2rem;border-top:1px solid rgba(255,255,255,.2)}.additional-links a{color:#fff;text-decoration:none;font-weight:500;transition:all .3s ease;opacity:.9}.additional-links a:hover{opacity:1;transform:translateY(-2px)}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@media (max-width: 768px){.contact{padding:3rem 1.5rem}.contact-methods{grid-template-columns:1fr}.additional-links{flex-direction:column;align-items:center;gap:1rem}}.visitor-counter{display:inline-flex;align-items:center;gap:1rem;padding:1rem 1.5rem;background:linear-gradient(135deg,#4facfe1a,#00f2fe0d);border:1px solid rgba(79,172,254,.3);border-radius:12px;box-shadow:0 4px 15px #0003;transition:all .3s ease}.visitor-counter:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4facfe4d;border-color:#4facfe80}.visitor-counter.loading{opacity:.6}.counter-icon{font-size:2rem;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.counter-text{display:flex;flex-direction:column;gap:.25rem}.counter-value{font-size:1.8rem;font-weight:800;background:linear-gradient(135deg,#4facfe,#00f2fe);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}.counter-label{font-size:.85rem;color:#b8c5d6;font-weight:500;text-transform:uppercase;letter-spacing:.5px}@media (max-width: 768px){.visitor-counter{padding:.75rem 1rem}.counter-icon,.counter-value{font-size:1.5rem}.counter-label{font-size:.75rem}}.app{min-height:100vh}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}.footer{background:#0a0e27;color:#4facfe;text-align:center;padding:3rem 2rem 2rem;font-size:.9rem;border-top:1px solid rgba(79,172,254,.2);display:flex;flex-direction:column;align-items:center;gap:2rem}.footer p{opacity:.8;margin:0}
