@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&family=Inter:wght@300;400;500;600&display=swap";:root{--bg-primary: #0f172a;--bg-secondary: #1e293b;--text-primary: #f8fafc;--text-secondary: #cbd5e1;--accent-primary: #3b82f6;--accent-secondary: #8b5cf6;--navbar-bg: rgba(15, 23, 42, .8);--divider-color: rgba(255, 255, 255, .15);--divider-soft: rgba(255, 255, 255, .08);--button-border: rgba(255, 255, 255, .25);--hover-bg: rgba(255, 255, 255, .05);--shadow-color: rgba(0, 0, 0, .2);--font-heading: "Outfit", sans-serif;--font-body: "Inter", sans-serif;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 2rem;--spacing-xl: 4rem;--max-width: 1200px;--transition-fast: .2s ease-in-out;--transition-normal: .3s ease-in-out;color-scheme:dark}:root[data-theme=light]{--bg-primary: #f8fafc;--bg-secondary: #e2e8f0;--text-primary: #0f172a;--text-secondary: #334155;--accent-primary: #2563eb;--accent-secondary: #7c3aed;--navbar-bg: rgba(248, 250, 252, .86);--divider-color: rgba(15, 23, 42, .2);--divider-soft: rgba(15, 23, 42, .12);--button-border: rgba(15, 23, 42, .25);--hover-bg: rgba(15, 23, 42, .06);--shadow-color: rgba(15, 23, 42, .16);color-scheme:light}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--text-primary);background-color:var(--bg-primary);transition:background-color var(--transition-normal),color var(--transition-normal);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.2}a{color:inherit;text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-primary)}button{font-family:var(--font-body);cursor:pointer;border:none;background:none}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--spacing-md)}@media(min-width:768px){.container{padding:0 var(--spacing-lg)}}.gradient-text{background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.navbar{position:fixed;top:0;left:0;right:0;height:70px;background:var(--navbar-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:1000;border-bottom:1px solid var(--divider-soft)}.navbar-container{display:flex;justify-content:space-between;align-items:center;height:100%}.navbar-logo a{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;letter-spacing:-.5px}.navbar-links{display:none;gap:2rem}.nav-link{font-size:.95rem;font-weight:500;color:var(--text-secondary);position:relative}.nav-link:after{content:"";position:absolute;width:0;height:2px;bottom:-4px;left:0;background-color:var(--accent-primary);transition:width var(--transition-normal)}.nav-link:hover{color:var(--text-primary)}.nav-link:hover:after{width:100%}.navbar-social{display:none;gap:1.25rem;align-items:center}.language-switch{display:flex;align-items:center;gap:.35rem;padding-right:.35rem;border-right:1px solid var(--divider-color)}.lang-btn{border:1px solid var(--button-border);background:transparent;color:var(--text-secondary);font-size:.72rem;font-weight:700;padding:.2rem .45rem;border-radius:999px;cursor:pointer;letter-spacing:.4px}.lang-btn:hover{color:var(--text-primary);border-color:var(--accent-secondary)}.lang-btn.active{color:var(--bg-primary);background:var(--accent-secondary);border-color:var(--accent-secondary)}.theme-btn{width:32px;height:32px;border-radius:999px;border:1px solid var(--button-border);color:var(--text-secondary);background:transparent;display:inline-flex;align-items:center;justify-content:center}.theme-btn:hover{color:var(--text-primary);border-color:var(--accent-secondary)}.navbar-social a{color:var(--text-secondary);display:flex;align-items:center;justify-content:center}.navbar-social a:hover{color:var(--accent-secondary);transform:translateY(-2px);transition:all var(--transition-fast)}.navbar-toggle{display:block;cursor:pointer;color:var(--text-primary)}.mobile-menu{position:absolute;top:70px;left:0;right:0;background-color:var(--bg-secondary);padding:1rem 0;display:flex;flex-direction:column;box-shadow:0 4px 6px -1px var(--shadow-color)}.mobile-link{padding:1rem 2rem;font-size:1.1rem;font-weight:500;color:var(--text-primary);border-bottom:1px solid var(--divider-soft)}.mobile-link:hover{background-color:var(--hover-bg);color:var(--accent-primary)}.mobile-social{display:flex;gap:1.5rem;padding:1.5rem 2rem .5rem}.mobile-language-switch{display:flex;gap:.5rem;padding:1rem 2rem .25rem}.mobile-theme-switch{padding:.25rem 2rem}.mobile-social a{color:var(--text-secondary)}.mobile-social a:hover{color:var(--accent-secondary)}@media(min-width:768px){.navbar-links,.navbar-social{display:flex}.navbar-toggle,.mobile-menu{display:none}}.hero{min-height:100vh;display:flex;flex-direction:column-reverse;align-items:center;justify-content:center;padding-top:70px;gap:3rem}.hero-content{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center}.hero-subtitle{font-size:1.25rem;color:var(--accent-primary);margin-bottom:.5rem;font-weight:500;letter-spacing:1px}.hero-title{font-size:clamp(3rem,8vw,5rem);margin-bottom:1rem;letter-spacing:-1px;color:var(--text-primary)}.hero-role{font-size:clamp(1.25rem,3vw,2rem);margin-bottom:1.5rem;font-weight:600}.hero-description{font-size:clamp(1rem,2vw,1.125rem);color:var(--text-secondary);max-width:600px;margin-bottom:2.5rem}.hero-cta{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.cta-button{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.75rem;border-radius:8px;font-weight:600;transition:all var(--transition-fast);font-size:1rem}.cta-button.primary{background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));color:#fff;box-shadow:0 4px 14px #3b82f663}.cta-button.primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3b82f666;color:#fff}.cta-button.secondary{background:transparent;color:var(--text-primary);border:1px solid rgba(255,255,255,.2)}.cta-button.secondary:hover{background:#ffffff0d;border-color:#fff6}.hero-visual{flex:1;display:flex;justify-content:center;align-items:center;position:relative;width:100%;max-width:400px}.glow-orb{position:absolute;width:300px;height:300px;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));border-radius:50%;filter:blur(80px);opacity:.4;animation:pulse 4s ease-in-out infinite;z-index:0}.hero-image-container{width:250px;height:250px;position:relative;z-index:1;border-radius:30% 70% 70% 30%/30% 30% 70% 70%;animation:morph 8s ease-in-out infinite;box-shadow:0 20px 40px #0000004d;overflow:hidden;border:4px solid var(--accent-primary);display:flex;align-items:center;justify-content:center;background-color:var(--bg-secondary)}.hero-profile-pic{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform var(--transition-normal),filter var(--transition-normal);filter:grayscale(100%) contrast(1.1) brightness(.9)}.hero-image-container:hover .hero-profile-pic{transform:scale(1.08)}@keyframes pulse{0%{transform:scale(1);opacity:.3}50%{transform:scale(1.1);opacity:.5}to{transform:scale(1);opacity:.3}}@keyframes morph{0%{border-radius:30% 70% 70% 30%/30% 30% 70% 70%}25%{border-radius:58% 42% 75% 25%/76% 46% 54% 24%}50%{border-radius:50% 50% 33% 67%/55% 27% 73% 45%}75%{border-radius:33% 67% 58% 42%/63% 68% 32% 37%}to{border-radius:30% 70% 70% 30%/30% 30% 70% 70%}}@media(min-width:992px){.hero{flex-direction:row;height:100vh}.hero-content{align-items:flex-start;text-align:left}.hero-visual{justify-content:flex-end}.hero-image-container{width:350px;height:350px}}.section-padding{padding:5rem 0}.section-title{font-size:clamp(2rem,5vw,3rem);text-align:center;margin-bottom:3rem;letter-spacing:-.5px}.about-content{display:flex;flex-direction:column;gap:3rem}.about-text-content{max-width:800px;margin:0 auto;text-align:center}.about-text{font-size:1.125rem;color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.8}.about-cards{display:grid;grid-template-columns:1fr;gap:1.5rem}.about-card{background:var(--bg-secondary);padding:2rem;border-radius:16px;border:1px solid rgba(255,255,255,.05);transition:transform var(--transition-normal),box-shadow var(--transition-normal);text-align:center}.about-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px -10px #3b82f64d;border-color:#3b82f633}.card-icon{color:var(--accent-primary);margin:0 auto 1.25rem;width:60px;height:60px;background:#3b82f61a;border-radius:12px;display:flex;align-items:center;justify-content:center}.about-card h3{font-size:1.25rem;margin-bottom:.75rem;color:var(--text-primary)}.about-card p{color:var(--text-secondary);font-size:.95rem;line-height:1.6}@media(min-width:768px){.about-cards{grid-template-columns:repeat(3,1fr)}}.experience{background-color:var(--bg-primary)}.timeline{display:grid;grid-template-columns:1fr;gap:1.5rem;max-width:1100px;margin:0 auto}.timeline-item{position:relative}.timeline-marker{display:none}.timeline-content{background:var(--bg-secondary);padding:2rem;border-radius:16px;border:1px solid rgba(255,255,255,.05);transition:transform var(--transition-normal);height:100%;position:relative}.timeline-item:hover .timeline-content{border-color:#3b82f633;box-shadow:0 10px 30px -10px #3b82f626;transform:translateY(-5px)}.timeline-role{font-size:1.2rem;color:var(--text-primary);margin-bottom:.75rem}.timeline-company,.timeline-duration{display:flex;align-items:center;gap:.5rem;font-size:.9rem;margin-bottom:.4rem}.timeline-company{color:var(--text-primary);font-weight:500}.timeline-duration{font-size:.82rem;color:var(--accent-primary);margin-bottom:1.1rem;opacity:.9}.timeline-description{color:var(--text-secondary);line-height:1.7;margin-bottom:1.25rem;font-size:.92rem}.timeline-tags{display:flex;flex-wrap:wrap;gap:.5rem}.timeline-tag{background:var(--bg-primary);color:var(--text-secondary);padding:.3rem .75rem;border-radius:100px;font-size:.72rem;font-weight:500;border:1px solid rgba(255,255,255,.1);transition:all var(--transition-fast)}.timeline-tag:hover{background:#3b82f626;color:var(--accent-primary);border-color:#3b82f64d}@media(min-width:640px){.timeline{grid-template-columns:1fr 1fr}}.skills{background-color:var(--bg-primary)}.skills-grid{display:grid;grid-template-columns:1fr;gap:2rem;max-width:1000px;margin:0 auto}.skill-category{background:var(--bg-secondary);padding:2rem;border-radius:16px;border:1px solid rgba(255,255,255,.05);transition:transform var(--transition-normal);text-align:left}.skill-category:hover{transform:translateY(-5px);border-color:#3b82f633;box-shadow:0 10px 30px -10px #3b82f626}.category-title{font-size:1.25rem;color:var(--text-primary);margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:1px solid rgba(255,255,255,.1)}.skills-list{display:grid;grid-template-columns:1fr;gap:1rem}.skill-item{display:flex;align-items:center;gap:.75rem;color:var(--text-secondary);font-size:1rem;transition:color var(--transition-fast)}.skill-item:hover{color:var(--text-primary)}.skill-item:hover .skill-icon{color:var(--accent-secondary);transform:scale(1.1)}.skill-icon{color:var(--accent-primary);flex-shrink:0;transition:transform var(--transition-fast),color var(--transition-fast)}@media(min-width:640px){.skills-list{grid-template-columns:1fr 1fr}}@media(min-width:768px){.skills-grid{grid-template-columns:repeat(2,1fr)}}.education{background-color:var(--bg-primary)}.section-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.75rem}.header-icon{color:var(--accent-secondary)}.section-header h3{font-size:1.5rem;color:var(--text-primary)}.edu-cert-container{display:grid;grid-template-columns:1fr;gap:3rem;max-width:1100px;margin:0 auto}.cert-cards{display:grid;grid-template-columns:1fr;gap:1.25rem}.edu-card{background:var(--bg-secondary);padding:1.75rem 1.75rem 1.75rem 2rem;border-radius:16px;border:1px solid rgba(255,255,255,.05);transition:transform var(--transition-normal);position:relative}.edu-card:hover{border-color:#3b82f633;box-shadow:0 10px 30px -10px #3b82f626;transform:translateY(-5px)}.edu-title{font-size:1.05rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem;line-height:1.4}.edu-institution{font-size:.9rem;color:var(--text-secondary);margin-bottom:.35rem}.edu-date{font-size:.82rem;color:var(--accent-primary);font-weight:500}@media(min-width:640px){.cert-cards{grid-template-columns:1fr 1fr}}@media(min-width:768px){.edu-cert-container{grid-template-columns:1fr 2fr;gap:2rem}}.footer{background-color:var(--bg-secondary);border-top:1px solid rgba(255,255,255,.05);padding:4rem 0 2rem;margin-top:4rem}.footer-top{display:grid;grid-template-columns:1fr;gap:3rem;margin-bottom:3rem}.footer-brand{display:flex;flex-direction:column;align-items:center;text-align:center}.footer-brand .footer-logo{font-family:var(--font-heading);font-size:1.75rem;margin-bottom:1rem}.footer-slogan{color:var(--text-secondary);line-height:1.6;max-width:300px}.footer-links,.footer-contact{display:flex;flex-direction:column;align-items:center;text-align:center}.footer-links h3,.footer-contact h3{font-size:1.15rem;color:var(--text-primary);margin-bottom:1.25rem}.footer-nav{display:flex;flex-direction:column;align-items:center;gap:.75rem}.footer-nav a{color:var(--text-secondary);transition:color var(--transition-fast)}.footer-nav a:hover{color:var(--accent-primary)}.footer-social{display:flex;flex-direction:column;align-items:center;gap:1rem}.social-link{display:flex;align-items:center;gap:.75rem;color:var(--text-secondary);transition:all var(--transition-fast)}.social-link:hover{color:var(--accent-secondary);transform:translateY(-2px)}.footer-bottom{padding-top:2rem;border-top:1px solid rgba(255,255,255,.05);display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center;color:var(--text-secondary);font-size:.9rem}.footer-made-with{display:flex;align-items:center;gap:.35rem;font-size:.85rem;opacity:.8}.heart-icon{color:#ef4444}@media(min-width:640px){.footer-top{grid-template-columns:1fr 1fr}}@media(min-width:968px){.footer-top{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.footer-bottom{flex-direction:row;justify-content:center;gap:2rem}}.whatsapp-btn{position:fixed;bottom:30px;right:30px;z-index:1000;display:flex;align-items:center;justify-content:center;text-decoration:none;transition:all var(--transition-normal)}.whatsapp-icon-wrapper{background:linear-gradient(135deg,#25d366,#128c7e);color:#fff;width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 15px #25d36666;transition:transform var(--transition-normal),box-shadow var(--transition-normal);position:relative;z-index:2}.whatsapp-icon-wrapper:after{content:"";position:absolute;inset:-5px;border:2px solid #25D366;border-radius:50%;animation:pulse-ring 2s infinite cubic-bezier(.455,.03,.515,.955);opacity:0;z-index:1}.whatsapp-btn:hover .whatsapp-icon-wrapper{transform:scale(1.1) translateY(-5px);box-shadow:0 8px 25px #25d36699}.whatsapp-tooltip{position:absolute;right:75px;top:50%;transform:translateY(-50%) translate(20px);background-color:var(--bg-secondary);color:var(--text-primary);padding:8px 16px;border-radius:8px;font-size:.9rem;font-weight:500;opacity:0;visibility:hidden;transition:all var(--transition-normal);border:1px solid rgba(255,255,255,.05);box-shadow:0 4px 15px #0003;white-space:nowrap}.whatsapp-tooltip:after{content:"";position:absolute;top:50%;right:-5px;transform:translateY(-50%);border-width:6px 0 6px 6px;border-style:solid;border-color:transparent transparent transparent var(--bg-secondary)}.whatsapp-btn:hover .whatsapp-tooltip{opacity:1;visibility:visible;transform:translateY(-50%) translate(0)}@keyframes pulse-ring{0%{transform:scale(.8);opacity:.8}to{transform:scale(1.3);opacity:0}}@media(max-width:768px){.whatsapp-btn{bottom:20px;right:20px}.whatsapp-icon-wrapper{width:50px;height:50px}.whatsapp-icon-wrapper svg{width:24px;height:24px}.whatsapp-tooltip{display:none}}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}
