:root{--primary:#2563eb;--primary-dark:#1d4ed8;--primary-light:#3b82f6;--secondary:#7c3aed;--accent:#f59e0b;--success:#10b981;--warning:#f59e0b;--error:#ef4444;--info:#06b6d4;--bg-primary:#fff;--bg-secondary:#f8fafc;--bg-tertiary:#f1f5f9;--bg-card:#fff;--bg-overlay:#fffffff2;--text-primary:#1e293b;--text-secondary:#475569;--text-muted:#64748b;--text-light:#94a3b8;--text-white:#fff;--border-light:#e2e8f0;--border-medium:#cbd5e1;--border-dark:#94a3b8;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;--shadow-hover:0 25px 50px -12px #00000040;--gradient-primary:linear-gradient(135deg,#2563eb,#7c3aed);--gradient-secondary:linear-gradient(135deg,#f59e0b,#ef4444);--gradient-bg:linear-gradient(135deg,#f8fafc,#e2e8f0 50%,#cbd5e1);--gradient-card:linear-gradient(135deg,#fff,#f8fafc);--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--transition-fast:0.15s ease;--transition-normal:0.3s ease;--transition-slow:0.5s ease}*{box-sizing:border-box;margin:0;padding:0}body{background:linear-gradient(135deg,#f8fafc,#e2e8f0 50%,#cbd5e1);background:var(--gradient-bg);background-attachment:fixed;color:#1e293b;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;min-height:100vh}html{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 pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes gradient{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.fade-in{animation:fadeInUp .8s ease-out}.fade-in-delay-1{animation:fadeInUp .8s ease-out .2s both}.fade-in-delay-2{animation:fadeInUp .8s ease-out .4s both}.grid{grid-gap:1.5rem;grid-gap:var(--spacing-lg);display:grid;gap:1.5rem;gap:var(--spacing-lg)}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.container-portfolio{margin:0 auto;max-width:1200px;padding:0 1.5rem;padding:0 var(--spacing-lg)}.section{padding:3rem 0;padding:var(--spacing-2xl) 0}.section-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#2563eb,#7c3aed);background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;font-size:2.5rem;font-weight:800;margin-bottom:1.5rem;margin-bottom:var(--spacing-lg);text-align:center}.section-subtitle{color:#475569;color:var(--text-secondary);font-size:1.2rem;margin-bottom:2rem;margin-bottom:var(--spacing-xl);margin-left:auto;margin-right:auto;max-width:600px;text-align:center}.card-portfolio{background:#fff;background:var(--bg-card);border:1px solid #e2e8f0;border:1px solid var(--border-light);border-radius:1rem;border-radius:var(--radius-xl);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md);overflow:hidden;padding:2rem;padding:var(--spacing-xl);position:relative;transition:all .3s ease;transition:all var(--transition-normal)}.card-portfolio:before{background:linear-gradient(135deg,#2563eb,#7c3aed);background:var(--gradient-primary);content:"";height:4px;left:0;position:absolute;right:0;top:0}.card-portfolio:hover{border-color:#2563eb;border-color:var(--primary);box-shadow:0 25px 50px -12px #00000040;box-shadow:var(--shadow-hover);transform:translateY(-8px)}.btn-portfolio{align-items:center;background:linear-gradient(135deg,#2563eb,#7c3aed);background:var(--gradient-primary);border:none;border-radius:.75rem;border-radius:var(--radius-lg);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md);color:#fff;color:var(--text-white);cursor:pointer;display:inline-flex;font-weight:600;gap:.5rem;gap:var(--spacing-sm);padding:1rem 2rem;padding:var(--spacing-md) var(--spacing-xl);text-decoration:none;transition:all .3s ease;transition:all var(--transition-normal)}.btn-portfolio:hover{box-shadow:0 25px 50px -12px #00000040;box-shadow:var(--shadow-hover);color:#fff;color:var(--text-white);transform:translateY(-3px)}.btn-secondary{background:linear-gradient(135deg,#f59e0b,#ef4444);background:var(--gradient-secondary)}.btn-secondary:hover{color:#fff;color:var(--text-white)}@media (max-width:768px){.grid.grid-4{gap:1.5rem;gap:var(--spacing-lg);grid-template-columns:1fr}.section-title{font-size:2rem}.container-portfolio{padding:0 1rem;padding:0 var(--spacing-md)}}@media (max-width:480px){.section{padding:1.5rem 0;padding:var(--spacing-lg) 0}.card-portfolio{padding:1.5rem;padding:var(--spacing-lg)}}.page-transition{min-height:100vh;position:relative;width:100%}.page-content{opacity:1;transform:translateY(0);transition:all .3s cubic-bezier(.4,0,.2,1)}.page-transition.transitioning .page-content{opacity:0;transform:translateY(20px)}@keyframes pageEnter{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.page-content{animation:pageEnter .4s ease-out}.App{text-align:center}.main-content{min-height:100vh;padding-top:80px}.page-loading{align-items:center;background:var(--bg-secondary);border-radius:var(--radius-xl);display:flex;justify-content:center;margin:var(--spacing-lg);min-height:50vh}.navbar-portfolio{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--bg-overlay);border-bottom:1px solid var(--border-light);box-shadow:var(--shadow);left:0;position:fixed;top:0;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%;z-index:1000}.navbar-portfolio.scrolled{background:#fffffffa;box-shadow:var(--shadow-lg)}.nav-container{height:70px;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 var(--spacing-lg)}.nav-brand,.nav-brand a,.nav-container{align-items:center;display:flex}.nav-brand a{color:var(--text-primary);font-size:1.2rem;font-weight:700;gap:var(--spacing-sm);text-decoration:none;transition:color var(--transition-normal)}.nav-brand a:hover{color:var(--primary)}.brand-icon{font-size:1.5rem}.brand-text{display:none}.nav-menu{align-items:center;display:flex;gap:2rem}.nav-toggle{cursor:pointer;display:none;flex-direction:column;padding:var(--spacing-sm)}.hamburger{display:flex;flex-direction:column;height:20px;position:relative;width:25px}.hamburger span{background:var(--text-primary);border-radius:2px;display:block;height:3px;transform-origin:center;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.hamburger span:first-child,.hamburger span:nth-child(2){margin-bottom:5px}.hamburger.active span:first-child{transform:rotate(45deg) translate(6px,6px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}.navbar-portfolio a{align-items:center;border-radius:.5rem;color:var(--text-primary);display:flex;font-size:1rem;font-weight:500;gap:.5rem;overflow:hidden;padding:.75rem 1.5rem;position:relative;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.navbar-portfolio a:before{background:var(--gradient-primary);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .3s cubic-bezier(.4,0,.2,1);width:100%;z-index:-1}.navbar-portfolio a:hover{color:var(--text-white);transform:translateY(-2px)}.navbar-portfolio a:hover:before{left:0}.navbar-portfolio a.active{background:var(--gradient-primary);box-shadow:var(--shadow);color:var(--text-white)}@media (max-width:768px){.main-content{padding-top:70px}.nav-container{padding:0 var(--spacing-md)}.brand-text{display:inline}.nav-toggle{display:flex}.nav-menu{align-items:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--bg-overlay);flex-direction:column;gap:var(--spacing-lg);height:calc(100vh - 70px);justify-content:flex-start;left:0;padding-top:var(--spacing-xl);position:fixed;top:70px;transform:translateX(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);width:100%}.nav-menu.active{transform:translateX(0)}.navbar-portfolio a{border-radius:var(--radius-lg);font-size:1.1rem;margin:0 var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);text-align:center;width:100%}}@media (max-width:480px){.brand-text{display:none}}
/*# sourceMappingURL=main.71e0db86.css.map*/