*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f5f7fa;--bg-card:#fff;--bg-alt:#fff;--text:#333;--text-muted:#666;--text-light:#888;--border:#e0e0e0;--heading:#1a1a2e;--accent:#e94560;--blue:#0f3460;--navbar-bg:#1a1a2ef2;--skill-bar-bg:#e0e0e0}[data-theme=dark]{--bg:#0f0f1a;--bg-card:#1a1a2e;--bg-alt:#16213e;--text:#e0e0e0;--text-muted:#aaa;--text-light:#888;--border:#2a2a4a;--heading:#fff;--accent:#e94560;--blue:#4a9eff;--navbar-bg:#0a0a14f7;--skill-bar-bg:#2a2a4a}body{background:var(--bg);color:var(--text);font-family:Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.6;transition:background .3s,color .3s;overflow-x:hidden}#root{max-width:100%;margin:0 auto}*{scroll-behavior:smooth}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@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 ripple{0%{opacity:1;transform:translate(-50%,-50%)scale(0)}to{opacity:0;transform:translate(-50%,-50%)scale(2)}}@keyframes expandFromCenter{to{width:60px}}@keyframes expandWidth{to{width:60px}}@keyframes expandHeight{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes slideFooter{0%{left:-100%}to{left:100%}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}.loading{height:100vh;color:var(--text-light);justify-content:center;align-items:center;font-size:1.2rem;animation:2s ease-in-out infinite pulse;display:flex}.empty-state{color:var(--text-light);text-align:center;padding:2rem;font-style:italic}.navbar{z-index:1000;background:0 0;justify-content:space-between;align-items:center;padding:1rem 2rem;transition:background .3s,box-shadow .3s,padding .3s;display:flex;position:fixed;top:0;left:0;right:0}.navbar--scrolled{background:var(--navbar-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:.6rem 2rem;box-shadow:0 2px 20px #0000004d}.navbar-brand{color:#e94560;letter-spacing:1px;font-size:1.3rem;font-weight:700;text-decoration:none}.navbar-links{align-items:center;gap:.25rem;list-style:none;display:flex}.navbar-links a{color:#fff;opacity:.85;border-radius:6px;padding:.4rem .75rem;font-size:.9rem;text-decoration:none;transition:all .2s}.navbar-links a:hover{opacity:1;color:#e94560;background:#e9456026}.dark-toggle{cursor:pointer;color:#fff;background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;margin-left:.5rem;transition:all .2s;display:flex}.dark-toggle:hover{color:#e94560;background:#e945604d}.navbar-burger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:4px;display:none}.navbar-burger span{background:#fff;border-radius:2px;width:24px;height:2px;transition:all .3s;display:block}.navbar-burger.open span:first-child{transform:translateY(7px)rotate(45deg)}.navbar-burger.open span:nth-child(2){opacity:0}.navbar-burger.open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.hero{color:#fff;text-align:center;background:linear-gradient(135deg,#1a1a2e 0%,#16213e 50%,#0f3460 100%);padding:6rem 2rem 4rem;position:relative;overflow:hidden}.hero:before{content:"";background:linear-gradient(90deg,#0000,#ffffff1a,#0000);width:100%;height:100%;animation:3s infinite shimmer;position:absolute;top:0;left:-100%}.hero-content{flex-direction:column;align-items:center;gap:1.5rem;max-width:800px;margin:0 auto;animation:1s ease-out fadeIn;display:flex}.hero-photo{object-fit:cover;border:4px solid #ffffff4d;border-radius:50%;width:150px;height:150px;transition:transform .3s;animation:.8s ease-out fadeInUp,3s ease-in-out 1s infinite float;box-shadow:0 10px 40px #0000004d}.hero-photo:hover{transform:scale(1.05)}.hero-text h1{background:linear-gradient(120deg,#fff,#e94560,#fff) 0 0/200%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.25rem;font-size:2.5rem;font-weight:700;animation:1s ease-out .2s both fadeInUp}.hero-text h2{color:#e94560;margin-bottom:1rem;font-size:1.25rem;font-weight:300;animation:1s ease-out .4s both fadeInUp}.bio{color:#ccc;max-width:600px;margin:0 auto 1rem;font-size:1rem;animation:1s ease-out .6s both fadeInUp}.contact-info{color:#aaa;flex-wrap:wrap;justify-content:center;gap:1.5rem;font-size:.9rem;animation:1s ease-out .8s both fadeInUp;display:flex}.contact-info a{color:#e94560;text-decoration:none;transition:color .3s;position:relative}.contact-info a:after{content:"";background:#e94560;width:0;height:2px;transition:width .3s;position:absolute;bottom:-2px;left:0}.contact-info a:hover{color:#fff}.contact-info a:hover:after{width:100%}.social-links{justify-content:center;gap:1rem;margin-top:.5rem;animation:1s ease-out 1s both fadeInUp;display:flex}.social-links a{color:#fff;background:#ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.social-links a:before{content:"";z-index:-1;background:#e94560;border-radius:50%;width:100%;height:100%;transition:transform .4s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0)}.social-links a:hover:before{transform:translate(-50%,-50%)scale(1)}.social-links a:hover{transform:translateY(-5px)rotate(360deg);box-shadow:0 8px 16px #e9456066}.social-links a:first-child{animation:.5s ease-out 1.2s both fadeIn}.social-links a:nth-child(2){animation:.5s ease-out 1.3s both fadeIn}.social-links a:nth-child(3){animation:.5s ease-out 1.4s both fadeIn}.social-links svg{z-index:1;width:22px;height:22px;transition:transform .3s}.social-links a:hover svg{transform:scale(1.1)}.download-cv-btn{color:#fff;cursor:pointer;background:#e94560;border:none;border-radius:30px;align-items:center;gap:.5rem;margin-top:1.25rem;padding:.7rem 1.75rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);animation:1s ease-out 1.2s both fadeInUp,2s ease-in-out 2s infinite pulse;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 4px 15px #e9456066}.download-cv-btn:before{content:"";background:radial-gradient(circle,#ffffff4d 0%,#0000 70%);border-radius:50%;width:300px;height:300px;transition:transform .5s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0)}.download-cv-btn:hover:before{transform:translate(-50%,-50%)scale(1)}.download-cv-btn:hover{background:#c73652;transform:translateY(-4px)scale(1.05);box-shadow:0 8px 25px #e9456099}.download-cv-btn:active{transform:translateY(-2px)scale(1.02)}.download-cv-btn svg{z-index:1;width:18px;height:18px;transition:transform .3s}.download-cv-btn:hover svg{animation:.5s infinite bounce;transform:translateY(2px)}.section-title{text-align:center;color:var(--heading);margin-bottom:2rem;font-size:2rem;font-weight:700;animation:.8s ease-out fadeInUp;position:relative;overflow:hidden}.section-title:before{content:"";z-index:-1;background:radial-gradient(circle,#e945601a 0%,#0000 70%);border-radius:50%;width:100%;height:100%;animation:2s ease-out infinite ripple;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0)}.section-title:after{content:"";background:linear-gradient(90deg,#0000,#e94560,#0000);border-radius:2px;width:0;height:3px;margin:.5rem auto 0;animation:1s ease-out .3s forwards expandFromCenter;display:block}.skills{max-width:900px;margin:0 auto;padding:4rem 2rem;animation:1s ease-out fadeIn}.skills-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;display:grid}.skill-category{animation:.6s ease-out slideInLeft}.skill-category h3{color:var(--blue);border-bottom:2px solid #e94560;margin-bottom:1rem;padding-bottom:.5rem;font-size:1.1rem;position:relative}.skill-category h3:after{content:"";background:#e94560;width:0;height:2px;animation:1s ease-out .3s forwards expandWidth;position:absolute;bottom:-2px;left:0}.skill-item{margin-bottom:1rem;animation:.5s ease-out both fadeInUp}.skill-item:first-child{animation-delay:.1s}.skill-item:nth-child(2){animation-delay:.2s}.skill-item:nth-child(3){animation-delay:.3s}.skill-item:nth-child(4){animation-delay:.4s}.skill-item:nth-child(5){animation-delay:.5s}.skill-header{justify-content:space-between;margin-bottom:.3rem;font-size:.9rem;display:flex}.skill-name{color:var(--text);font-weight:500}.skill-percent{color:var(--text-muted)}.skill-bar{background:var(--skill-bar-bg);border-radius:10px;height:8px;position:relative;overflow:hidden}.skill-fill{background:linear-gradient(90deg,#e94560,#0f3460);border-radius:10px;width:0;height:100%;transition:width 1.2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.skill-fill:after{content:"";background:linear-gradient(90deg,#0000,#ffffff4d,#0000);width:100%;height:100%;animation:2s infinite shimmer;position:absolute;top:0;left:-100%}.experience{background:var(--bg-alt);padding:4rem 2rem;animation:1s ease-out fadeIn}.timeline{max-width:800px;margin:0 auto;padding-left:2rem;position:relative}.timeline:before{content:"";background:var(--border);transform-origin:top;width:2px;animation:1.5s ease-out expandHeight;position:absolute;top:0;bottom:0;left:6px}.timeline-item{opacity:0;margin-bottom:2rem;padding-left:1.5rem;animation:.6s ease-out both fadeInUp;position:relative}.timeline-item:first-child{animation-delay:.2s}.timeline-item:nth-child(2){animation-delay:.4s}.timeline-item:nth-child(3){animation-delay:.6s}.timeline-item:nth-child(4){animation-delay:.8s}.timeline-item:nth-child(5){animation-delay:1s}.timeline-item:hover{transition:transform .3s;transform:translate(5px)}.timeline-dot{border:3px solid var(--bg-card);background:#e94560;border-radius:50%;width:14px;height:14px;transition:all .3s;animation:2s ease-in-out infinite pulse;position:absolute;top:6px;left:-2rem;box-shadow:0 0 0 2px #e94560}.timeline-item:hover .timeline-dot{transform:scale(1.3);box-shadow:0 0 0 4px #e945604d}.timeline-content h3{color:var(--heading);margin-bottom:.15rem;font-size:1.15rem;transition:color .3s}.timeline-item:hover .timeline-content h3{color:#e94560}.timeline-content h4{color:var(--blue);margin-bottom:.25rem;font-size:1rem;font-weight:500}.timeline-date{color:var(--text-light);margin-bottom:.5rem;font-size:.85rem;display:block}.timeline-content p{color:var(--text-muted);font-size:.95rem;line-height:1.6}.projects{max-width:900px;margin:0 auto;padding:4rem 2rem;animation:1s ease-out fadeIn}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;display:grid}.project-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);animation:.6s ease-out both fadeInUp;position:relative;overflow:hidden}.project-card:before{content:"";background:linear-gradient(90deg,#0000,#e945600d,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.project-card:hover:before{left:100%}.project-card:first-child{animation-delay:.1s}.project-card:nth-child(2){animation-delay:.2s}.project-card:nth-child(3){animation-delay:.3s}.project-card:nth-child(4){animation-delay:.4s}.project-card:nth-child(5){animation-delay:.5s}.project-card:nth-child(6){animation-delay:.6s}.project-card:hover{border-color:#e94560;transform:translateY(-8px)scale(1.02);box-shadow:0 12px 32px #e9456033}.project-card h3{color:var(--heading);margin-bottom:.25rem;font-size:1.1rem;transition:color .3s}.project-card:hover h3{color:#e94560}.project-client{color:var(--blue);margin-bottom:.75rem;font-size:.85rem;font-weight:500;display:block}.project-card p{color:var(--text-muted);margin-bottom:.75rem;font-size:.9rem;line-height:1.5}.project-tags{flex-wrap:wrap;gap:.4rem;display:flex}.tag{color:#fff;background:linear-gradient(135deg,#e94560,#0f3460);border-radius:12px;padding:.2rem .6rem;font-size:.75rem;transition:all .3s;animation:.5s ease-out both fadeIn}.tag:first-child{animation-delay:.3s}.tag:nth-child(2){animation-delay:.4s}.tag:nth-child(3){animation-delay:.5s}.tag:nth-child(4){animation-delay:.6s}.tag:nth-child(5){animation-delay:.7s}.project-card:hover .tag{transform:translateY(-2px);box-shadow:0 4px 8px #e945604d}.references{background:var(--bg-alt);padding:4rem 2rem;animation:1s ease-out fadeIn}.references-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;max-width:900px;margin:0 auto;display:grid}.reference-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;align-items:flex-start;gap:1rem;padding:1.25rem;transition:all .3s cubic-bezier(.4,0,.2,1);animation:.6s ease-out both slideInRight;display:flex;position:relative;overflow:hidden}.reference-card:before{content:"";background:linear-gradient(#e94560,#0f3460);width:3px;height:0;transition:height .3s;position:absolute;top:0;left:0}.reference-card:hover:before{height:100%}.reference-card:first-child{animation-delay:.1s}.reference-card:nth-child(2){animation-delay:.2s}.reference-card:nth-child(3){animation-delay:.3s}.reference-card:nth-child(4){animation-delay:.4s}.reference-card:hover{border-color:#e945604d;transform:translate(5px);box-shadow:0 8px 24px #0000001f}.reference-avatar{color:#fff;background:linear-gradient(135deg,#1a1a2e,#0f3460);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.2rem;font-weight:700;transition:all .3s;animation:2s ease-in-out infinite pulse;display:flex}.reference-card:hover .reference-avatar{background:linear-gradient(135deg,#e94560,#0f3460);transform:rotate(360deg)scale(1.1)}.reference-info h3{color:var(--heading);margin-bottom:.15rem;font-size:1rem;transition:color .3s}.reference-card:hover .reference-info h3{color:#e94560}.reference-position{color:#e94560;font-size:.85rem;display:block}.reference-company{color:var(--blue);margin-bottom:.4rem;font-size:.85rem;font-weight:500;display:block}.reference-contact{color:var(--text-light);flex-direction:column;gap:.15rem;font-size:.8rem;display:flex}.reference-contact a{color:#e94560;text-decoration:none;transition:all .3s}.reference-contact a:hover{text-decoration:underline;display:inline-block;transform:translate(3px)}.education{background:var(--bg);padding:4rem 2rem;animation:1s ease-out fadeIn}.edu-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2.5rem;max-width:900px;margin:0 auto;display:grid}.edu-column-title{color:var(--blue);border-bottom:2px solid #e94560;align-items:center;gap:.6rem;margin-bottom:1.25rem;padding-bottom:.5rem;font-size:1.1rem;display:flex}.edu-list{flex-direction:column;gap:1rem;display:flex}.edu-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;align-items:flex-start;gap:1rem;padding:1.1rem 1.25rem;transition:all .3s;animation:.5s ease-out both fadeInUp;display:flex}.edu-card:first-child{animation-delay:.1s}.edu-card:nth-child(2){animation-delay:.2s}.edu-card:nth-child(3){animation-delay:.3s}.edu-card:hover{border-color:#e9456066;transform:translateY(-3px);box-shadow:0 8px 24px #e945601f}.edu-card-icon{color:#fff;background:linear-gradient(135deg,#1a1a2e,#0f3460);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:1.1rem;font-weight:700;display:flex}.cert-icon{background:linear-gradient(135deg,#e94560,#0f3460)}.edu-card-body{flex-direction:column;gap:.2rem;display:flex}.edu-card-body h4{color:var(--heading);font-size:.95rem;font-weight:600;transition:color .2s}.edu-card:hover .edu-card-body h4{color:#e94560}.edu-card-body h4 a{color:inherit;text-decoration:none;transition:color .2s}.edu-card-body h4 a:hover{color:#e94560;text-decoration:underline}.edu-institution{color:var(--blue);font-size:.85rem;font-weight:500}.edu-years{color:var(--text-light);font-size:.8rem}.contact{max-width:700px;margin:0 auto;padding:4rem 2rem;animation:1s ease-out fadeIn}.contact-form-wrap{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:2.5rem;box-shadow:0 4px 24px #00000012}.contact-form{flex-direction:column;gap:1.25rem;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.form-group{flex-direction:column;gap:.4rem;display:flex}.form-group label{color:var(--text-muted);letter-spacing:.5px;font-size:.85rem;font-weight:600}.form-group input,.form-group textarea{border:1.5px solid var(--border);background:var(--bg);color:var(--text);resize:vertical;border-radius:8px;padding:.7rem 1rem;font-family:inherit;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group textarea:focus{border-color:#e94560;outline:none;box-shadow:0 0 0 3px #e9456026}.contact-submit{color:#fff;cursor:pointer;background:#e94560;border:none;border-radius:30px;align-self:flex-start;padding:.75rem 2rem;font-size:.95rem;font-weight:600;transition:all .3s;box-shadow:0 4px 15px #e9456059}.contact-submit:hover:not(:disabled){background:#c73652;transform:translateY(-2px);box-shadow:0 6px 20px #e9456080}.contact-submit:disabled{opacity:.65;cursor:not-allowed}.contact-error{color:#e94560;font-size:.85rem}.contact-success{text-align:center;color:#e94560;flex-direction:column;align-items:center;gap:1rem;padding:1rem 0;animation:.5s ease-out fadeInUp;display:flex}.contact-success p{color:var(--text);font-size:1.1rem;font-weight:500}.contact-reset{border:1.5px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:20px;padding:.4rem 1.2rem;font-size:.85rem;transition:all .2s}.contact-reset:hover{color:#e94560;border-color:#e94560}.footer{text-align:center;color:#888;background:#1a1a2e;padding:2rem;font-size:.9rem;animation:1s ease-out fadeIn;position:relative;overflow:hidden}.footer:before{content:"";background:linear-gradient(90deg,#0000,#e94560,#0000);width:100%;height:2px;animation:3s ease-in-out infinite slideFooter;position:absolute;top:0;left:-100%}@media (width<=768px){.navbar-links{background:var(--navbar-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-direction:column;align-items:stretch;gap:.25rem;padding:1rem 2rem 1.5rem;display:none;position:absolute;top:100%;left:0;right:0}.navbar-links.open{display:flex}.navbar-links a{padding:.6rem .5rem;font-size:1rem}.dark-toggle{border-radius:8px;justify-content:flex-start;gap:.5rem;width:100%;margin-left:0;padding-left:.5rem}.dark-toggle:after{content:attr(aria-label);color:inherit;font-size:.95rem}.navbar-burger{display:flex}.form-row{grid-template-columns:1fr}}@media (width<=600px){.hero-text h1{font-size:1.8rem}.hero-text h2{font-size:1rem}.hero-photo{width:120px;height:120px}.contact-info{flex-direction:column;gap:.5rem}.skills-grid{grid-template-columns:1fr}.contact-form-wrap{padding:1.5rem}}
