.App{min-height:100vh;display:flex;flex-direction:column;scroll-padding-top:70px}::-webkit-scrollbar{width:16px}::-webkit-scrollbar-track{background:var(--color-bg-tertiary);border-radius:8px}::-webkit-scrollbar-thumb{background:var(--gradient-primary);border-radius:8px;border:2px solid var(--color-bg-tertiary)}::-webkit-scrollbar-button:single-button{background-color:#f1f1f1;display:block;border-style:solid;height:16px;width:16px}::-webkit-scrollbar-button:single-button:vertical:decrement{border-width:0 8px 8px 8px;border-color:transparent transparent #667eea transparent;background:linear-gradient(135deg,#f8f9fa 0%,#e9ecef 100%)}::-webkit-scrollbar-button:single-button:vertical:decrement:hover{border-color:transparent transparent #764ba2 transparent;background:linear-gradient(135deg,#e9ecef 0%,#dee2e6 100%)}::-webkit-scrollbar-button:single-button:vertical:decrement:active{border-color:transparent transparent #5a6fd8 transparent;background:linear-gradient(135deg,#dee2e6 0%,#ced4da 100%)}::-webkit-scrollbar-button:single-button:vertical:increment{border-width:8px 8px 0 8px;border-color:#667eea transparent transparent transparent;background:linear-gradient(135deg,#f8f9fa 0%,#e9ecef 100%)}::-webkit-scrollbar-button:single-button:vertical:increment:hover{border-color:#764ba2 transparent transparent transparent;background:linear-gradient(135deg,#e9ecef 0%,#dee2e6 100%)}::-webkit-scrollbar-button:single-button:vertical:increment:active{border-color:#5a6fd8 transparent transparent transparent;background:linear-gradient(135deg,#dee2e6 0%,#ced4da 100%)}*{scrollbar-width:thin;scrollbar-color:var(--color-primary) var(--color-bg-tertiary)}main{flex:1;display:flex;flex-direction:column;padding-top:70px;width:100%;max-width:100vw;overflow-x:hidden}section{padding:4rem 0}section.bg-light{background-color:var(--color-bg-light)}section.bg-dark{background-color:var(--color-bg-dark);color:var(--color-text-white)}section.bg-gradient{background:var(--gradient-primary);color:var(--color-text-white)}@media (max-width: 768px){section{padding:2rem 0}}.section-container{max-width:1200px;margin:0 auto;padding:0 2rem;width:100%;box-sizing:border-box;overflow-x:hidden}@media (max-width: 768px){.section-container{padding:0 1rem;max-width:100%}}.section-header{text-align:center;margin-bottom:3rem}.section-title{font-size:2.5rem;font-weight:700;margin-bottom:1rem;color:var(--color-text-primary)}.section-subtitle{font-size:1.1rem;color:var(--color-text-secondary);max-width:600px;margin:0 auto}section.bg-dark .section-title,section.bg-gradient .section-title{color:var(--color-text-white)}section.bg-dark .section-subtitle,section.bg-gradient .section-subtitle{color:var(--color-text-light)}@media (max-width: 768px){.section-title{font-size:2rem}.section-subtitle{font-size:1rem}}.page-transition{transition:all .3s cubic-bezier(.4,0,.2,1)}.touch-feedback{transition:transform .1s ease,opacity .1s ease}.touch-feedback:active{transform:scale(.95);opacity:.8}.mobile-card{transition:all .3s cubic-bezier(.4,0,.2,1);transform:translateY(0)}.mobile-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px #00000026}.stagger-item{opacity:0;transform:translateY(20px);animation:staggerIn .6s ease forwards}.stagger-item:nth-child(1){animation-delay:.1s}.stagger-item:nth-child(2){animation-delay:.2s}.stagger-item:nth-child(3){animation-delay:.3s}.stagger-item:nth-child(4){animation-delay:.4s}.stagger-item:nth-child(5){animation-delay:.5s}@keyframes staggerIn{to{opacity:1;transform:translateY(0)}}.float-animation{animation:float 6s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.pulse-animation{animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.slide-in-left{animation:slideInLeft .8s ease-out}.slide-in-right{animation:slideInRight .8s ease-out}.slide-in-up{animation:slideInUp .8s ease-out}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .8s ease-out}.fade-in-delayed{animation:fadeIn .8s ease-out .3s both}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.scale-in{animation:scaleIn .6s ease-out}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.bounce-in{animation:bounceIn .8s ease-out}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}.mobile-btn{position:relative;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.mobile-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:rgba(255,255,255,.3);border-radius:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s}.mobile-btn:active:before{width:300px;height:300px}.loading-spinner{animation:spin 1s linear infinite}.progress-bar{animation:progressFill 2s ease-out}@keyframes progressFill{0%{width:0%}to{width:var(--progress)}}.mobile-nav-item{animation:slideInFromRight .3s ease-out;animation-delay:calc(var(--index) * .1s)}@keyframes slideInFromRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.parallax-mobile{transform:translateZ(0);will-change:transform}.smooth-scroll{scroll-behavior:smooth}.swipe-feedback{transition:transform .2s ease}.swipe-feedback.swiping{transform:translate(var(--swipe-distance))}.flip-card{perspective:1000px;transform-style:preserve-3d}.flip-card-inner{transition:transform .6s;transform-style:preserve-3d}.flip-card.flipped .flip-card-inner{transform:rotateY(180deg)}.flip-card-front,.flip-card-back{backface-visibility:hidden;position:absolute;top:0;left:0;width:100%;height:100%}.flip-card-back{transform:rotateY(180deg)}@media (hover: hover){.mobile-card:hover{transform:translateY(-8px)}.mobile-btn:hover{transform:translateY(-2px)}}@media (pointer: coarse){.mobile-btn{min-height:44px;min-width:44px}.mobile-nav-link{min-height:48px;padding:12px 16px}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.navbar{position:fixed;top:0;left:0;right:0;background:rgba(255,255,255,.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--color-border-primary);z-index:1000;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-md)}.navbar.scrolled{background:rgba(255,255,255,.98);-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px);box-shadow:var(--shadow-lg);border-bottom:1px solid var(--color-border-medium)}.navbar-container{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;align-items:center;justify-content:space-between;height:80px}.navbar-brand{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-start;margin-right:auto}.brand-logo{display:flex;align-items:center;gap:.5rem;margin-bottom:.2rem}.brand-icon{width:80px;height:80px;object-fit:contain}.brand-text{font-size:1.6rem;font-weight:800;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:1px}.brand-tagline{font-size:.75rem;color:var(--color-text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.navbar-nav{display:flex;align-items:center;list-style:none;margin:0;padding:0;gap:.2rem}.nav-item{margin:0}.nav-link{background:none;border:none;font-size:1rem;font-weight:600;color:var(--color-text-primary);cursor:pointer;padding:.4rem .8rem;border-radius:6px;transition:all .3s ease;text-decoration:none;position:relative;overflow:hidden;white-space:nowrap}.nav-link:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:var(--gradient-primary);transition:left .3s ease;z-index:-1;border-radius:8px}.nav-link:hover:before{left:0}.nav-link:hover{color:var(--color-text-white);transform:translateY(-2px);box-shadow:var(--shadow-primary)}.mobile-menu-btn{display:none;background:none;border:none;font-size:1.3rem;color:var(--color-primary);cursor:pointer;padding:.5rem;border-radius:6px;transition:all .3s ease}.mobile-menu-btn:hover{color:var(--color-secondary);background:var(--color-info-bg)}.mobile-menu{display:none;position:absolute;top:100%;left:0;right:0;background:rgba(255,255,255,.98);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--shadow-lg);border-top:1px solid var(--color-border-primary);transform:translateY(-100%);opacity:0;visibility:hidden;transition:all .3s ease}.mobile-menu.open{transform:translateY(0);opacity:1;visibility:visible}.mobile-nav{list-style:none;margin:0;padding:1rem 0}.mobile-nav-item{margin:0}.mobile-nav-link{display:block;width:100%;background:none;border:none;font-size:1rem;font-weight:600;color:var(--color-text-primary);cursor:pointer;padding:1rem 2rem;text-align:left;transition:all .3s ease;text-decoration:none;position:relative}.mobile-nav-link:before{content:"";position:absolute;left:0;top:0;width:0;height:100%;background:var(--gradient-primary);transition:width .3s ease;z-index:-1}.mobile-nav-link:hover:before{width:100%}.mobile-nav-link:hover{color:var(--color-text-white);padding-left:2.5rem}.navbar-nav{display:none}.mobile-menu-btn,.mobile-menu{display:block}.navbar-container{padding:0 1rem;height:70px}.brand-text{font-size:1.4rem}.brand-tagline{font-size:.7rem}@media (min-width: 769px){.navbar-nav{display:flex;align-items:center;list-style:none;margin:0;padding:0;gap:.5rem}.mobile-menu-btn,.mobile-menu{display:none}.navbar-container{padding:0 2rem;height:80px}.brand-text{font-size:1.6rem}.brand-tagline{font-size:.75rem}}@media (max-width: 480px){.navbar-container{padding:0 .8rem;height:65px}.brand-text{font-size:1.2rem}.brand-icon{font-size:1.4rem}.brand-tagline{font-size:.65rem}.mobile-nav-link{padding:.8rem 1.5rem}}.hero{min-height:100vh;background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:scroll;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:1.5rem 1rem 1rem}@media (min-width: 769px){.hero{min-height:100vh;background-size:contain;background-position:center center;background-color:#0f172a;padding-top:2rem;padding-bottom:1rem;align-items:flex-start}.hero-overlay{background:rgba(0,0,0,.4)}.hero-container{margin-top:4rem;transform:translateY(0);padding-top:0}}.hero-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(0,0,0,.6) 0%,rgba(0,0,0,.3) 30%,rgba(0,0,0,.1) 50%,rgba(0,0,0,.2) 70%,rgba(0,0,0,.5) 100%);z-index:1}@media (max-width: 768px){.hero{background-attachment:scroll;min-height:100vh;background-size:cover;background-position:center;padding:5rem 1rem 1.5rem;align-items:flex-start;justify-content:flex-start}.hero-overlay{background:linear-gradient(135deg,rgba(0,0,0,.7) 0%,rgba(0,0,0,.5) 25%,rgba(0,0,0,.3) 45%,rgba(0,0,0,.2) 60%,rgba(0,0,0,.3) 75%,rgba(0,0,0,.6) 100%)}.hero-container{padding:0 1.5rem;width:100%;max-width:100%;gap:1.5rem;margin-top:2rem!important;transform:translateY(0)}.hero-content{width:100%;max-width:100%;text-align:center;margin-top:.5rem}.hero-greeting{font-size:1rem;margin-bottom:.75rem}.hero-name{font-size:2.5rem;margin-bottom:.75rem;line-height:1.2}.hero-tagline{font-size:1.1rem;margin-bottom:1rem;line-height:1.4}.hero-description{font-size:1rem;margin-bottom:1.5rem;max-width:100%;line-height:1.6;font-weight:600;padding:1.25rem;background:linear-gradient(135deg,rgba(0,0,0,.7) 0%,rgba(0,0,0,.6) 50%,rgba(0,0,0,.7) 100%);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:12px;border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 20px #00000080}.hero-actions{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:nowrap;justify-content:center;width:100%}.btn{padding:.85rem 1.5rem;font-size:.95rem;min-width:0;flex:1 1 auto;max-width:48%;border-radius:8px}.hero-social{justify-content:center;gap:.75rem}}.hero-container{width:100%;max-width:1200px;margin:0 auto;padding:0 1rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:3rem;position:relative;z-index:2;animation:heroSlideIn .8s ease-out}@keyframes heroSlideIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hero-content{color:#fff;text-shadow:0 3px 15px rgba(0,0,0,.8),0 1px 5px rgba(0,0,0,.9);position:relative;z-index:2}.hero-greeting{font-size:1rem;color:#ffffffe6;margin-bottom:.75rem;font-weight:500;text-shadow:0 2px 8px rgba(0,0,0,.6)}.hero-title{margin-bottom:1rem}.hero-name{display:block;font-size:3.5rem;font-weight:800;line-height:1.1;margin-bottom:.75rem;color:#fff;text-shadow:0 4px 15px rgba(0,0,0,.7)}.hero-tagline{display:block;font-size:1.3rem;font-weight:600;color:#fffffff2;margin-bottom:.75rem;text-shadow:0 2px 10px rgba(0,0,0,.6)}.hero-description{font-size:1rem;line-height:1.5;color:#fffffff2;margin-bottom:1.5rem;max-width:500px;text-shadow:0 2px 8px rgba(0,0,0,.8);font-weight:600;padding:1.25rem;background:linear-gradient(135deg,rgba(0,0,0,.6) 0%,rgba(0,0,0,.5) 50%,rgba(0,0,0,.6) 100%);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:12px;border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 20px #0006}.hero-actions{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.btn{padding:.875rem 1.75rem;font-size:1rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-width:140px;box-shadow:0 2px 8px #00000026}.btn-primary{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none}.btn-primary:hover{background:linear-gradient(135deg,#5a6fd8 0%,#6a4190 100%);color:#fff;transform:translateY(-2px);box-shadow:0 8px 25px #667eea4d}.btn-secondary{background:#6b7280;color:#fff;border:none}.btn-secondary:hover{background:#4b5563;color:#fff;transform:translateY(-2px);box-shadow:0 8px 25px #6b72804d}.hero-social{display:flex;gap:1rem;margin-top:-1rem}.social-link{width:52px;height:52px;border:2px solid!important;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff!important;font-size:1.4rem;transition:all .3s ease;text-decoration:none}.social-link:nth-child(1){background:var(--color-whatsapp)!important;border-color:var(--color-whatsapp)!important}.social-link:nth-child(1):hover{background:#1fa857!important;border-color:#1fa857!important;transform:translateY(-2px);box-shadow:var(--shadow-primary)!important}.social-link:nth-child(2){background:var(--color-telegram)!important;border-color:var(--color-telegram)!important}.social-link:nth-child(2):hover{background:#006699!important;border-color:#069!important;transform:translateY(-2px);box-shadow:0 4px 15px #0088cc4d!important}.social-link:nth-child(3){background:#0077B5!important;border-color:#0077b5!important}.social-link:nth-child(3):hover{background:#005885!important;border-color:#005885!important;transform:translateY(-2px);box-shadow:0 4px 15px #0077b54d!important}.social-link:nth-child(4){background:#333333!important;border-color:#333!important}.social-link:nth-child(4):hover{background:#1a1a1a!important;border-color:#1a1a1a!important;transform:translateY(-2px);box-shadow:0 4px 15px #3333334d!important}.hero-scroll{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);color:#ffffffb3;cursor:pointer;text-align:center;transition:all .3s ease}.hero-scroll:hover{color:#fff;transform:translate(-50%) translateY(-5px)}.hero-scroll span{display:block;font-size:.9rem;margin-bottom:.5rem;font-weight:500}.scroll-arrow{font-size:1.2rem;animation:bounce 2s infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@media (min-width: 769px){.hero-container{display:grid;grid-template-columns:1fr 1fr;gap:4rem;text-align:left;align-items:flex-start}.hero-content{text-align:left}.hero-actions,.hero-social{justify-content:flex-start}}@media (max-width: 768px){.hero-actions{display:flex;gap:.75rem;margin-bottom:1.25rem;flex-wrap:nowrap!important;justify-content:center}.btn{min-width:0!important;flex:0 1 auto!important}}@media (max-width: 480px){.hero{padding:1.5rem 1rem;padding-top:5rem!important}.hero-container{padding:0 1rem;gap:1.5rem;margin-top:2rem!important;transform:translateY(0)}.hero-greeting{font-size:.95rem;margin-bottom:.5rem}.hero-name{font-size:2rem;margin-bottom:.5rem}.hero-tagline{font-size:1rem;margin-bottom:.75rem}.hero-description{font-size:.95rem;margin-bottom:1.25rem;padding:1rem;font-weight:600;background:linear-gradient(135deg,rgba(0,0,0,.75) 0%,rgba(0,0,0,.65) 50%,rgba(0,0,0,.75) 100%);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:10px;border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 20px #00000080}.hero-actions{gap:.5rem;margin-bottom:1.25rem}.btn{padding:.75rem 1.25rem;font-size:.9rem;min-width:0;flex:1 1 auto;border-radius:8px}.hero-social{gap:.5rem}.social-link{width:45px;height:45px;font-size:1.2rem}}.about{padding:6rem 0}.about-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-bottom:4rem}.about-text h3{font-size:1.5rem;font-weight:600;color:#333;margin-bottom:1rem;margin-top:2rem}.about-text h3:first-child{margin-top:0}.about-text p{font-size:1.1rem;line-height:1.7;color:#666;margin-bottom:1.5rem}.about-skills h3{font-size:1.5rem;font-weight:600;color:#333;margin-bottom:2rem}.skills-grid{display:flex;flex-direction:column;gap:1.5rem}.skill-item{background:white;padding:1.5rem;border-radius:12px;box-shadow:0 4px 20px #00000014;transition:transform .3s ease}.skill-item:hover{transform:translateY(-5px)}.skill-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.skill-icon{font-size:1.8rem;color:#111827;width:46px;height:46px;display:flex;align-items:center;justify-content:center;background:transparent;border-radius:8px}.skill-name{font-weight:600;color:#333;font-size:1.1rem}.skill-bar{width:100%;height:8px;background:#f0f0f0;border-radius:4px;overflow:hidden;margin-bottom:.5rem}.skill-progress{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:4px;transition:width 1s ease-in-out;animation:skillProgress 1.5s ease-out}.skill-percentage{font-size:.9rem;color:#667eea;font-weight:600}.skill-description{font-size:.85rem;color:#888;margin-top:.5rem;line-height:1.4;font-style:italic}.about-highlights{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;margin-top:3rem}.highlight-item{text-align:center;padding:2rem 1rem;background:white;border-radius:16px;box-shadow:0 4px 20px #00000014;transition:transform .3s ease}.highlight-item:hover{transform:translateY(-5px)}.highlight-number{font-size:2.5rem;font-weight:700;color:#667eea;margin-bottom:.5rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.highlight-label{font-size:1rem;color:#666;font-weight:500}@keyframes skillProgress{0%{width:0%}to{width:var(--skill-level)}}@media (max-width: 768px){.about-content{grid-template-columns:1fr;gap:3rem}.about-text h3{font-size:1.3rem}.about-text p{font-size:1rem}.about-skills h3{font-size:1.3rem}.skill-item{padding:1.2rem}.skill-name{font-size:1rem}.about-highlights{grid-template-columns:repeat(2,1fr);gap:1.5rem}.highlight-item{padding:1.5rem 1rem}.highlight-number{font-size:2rem}.highlight-label{font-size:.9rem}}@media (max-width: 480px){.about-highlights{grid-template-columns:1fr}}.services{padding:3rem 0;background:linear-gradient(135deg,#f8f9fa 0%,#e9ecef 100%)}@media (min-width: 769px){.services{padding:6rem 0}}.services-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-bottom:3rem}@media (min-width: 768px){.services-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin-bottom:4rem}}.service-card{background:white;padding:1.5rem;border-radius:16px;box-shadow:0 4px 20px #00000014;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;animation:serviceCardIn .6s ease-out}@keyframes serviceCardIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (min-width: 768px){.service-card{padding:2.5rem;border-radius:20px;box-shadow:0 8px 30px #0000001a}}.service-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--gradient-primary);transform:scaleX(0);transition:transform .3s ease}.service-card:hover{transform:translateY(-10px);box-shadow:0 20px 40px #00000026}.service-card:hover:before{transform:scaleX(1)}.service-icon{width:90px;height:90px;background:transparent;border-radius:20px;border:1px solid rgba(148,163,184,.7);display:flex;align-items:center;justify-content:center;font-size:2.2rem;color:#111827;margin-bottom:1.5rem;transition:transform .3s ease}.service-card:hover .service-icon{transform:scale(1.1)}.service-title{font-size:1.5rem;font-weight:600;color:#333;margin-bottom:1rem}.service-description{font-size:1rem;line-height:1.6;color:#666;margin-bottom:1.5rem}.service-features{list-style:none;padding:0}.service-feature{display:flex;align-items:center;gap:.5rem;font-size:.95rem;color:#555;margin-bottom:.5rem;padding:.5rem 0}.feature-check{color:var(--color-primary);font-weight:700;font-size:1.1rem}.services-cta{text-align:center;background:white;padding:3rem;border-radius:20px;box-shadow:0 8px 30px #0000001a;max-width:600px;margin:0 auto}.services-cta h3{font-size:2rem;font-weight:600;color:#333;margin-bottom:1rem}.services-cta p{font-size:1.1rem;color:#666;margin-bottom:2rem;line-height:1.6}.services-cta .btn{padding:1rem 2.5rem;font-size:1.1rem;background:var(--gradient-primary);color:var(--color-text-white);border:none;border-radius:50px;font-weight:600;cursor:pointer;transition:all .3s ease}.services-cta .btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-primary)}@media (max-width: 768px){.services-grid{grid-template-columns:1fr;gap:1.5rem}.service-card{padding:2rem}.service-icon{width:60px;height:60px;font-size:1.5rem}.service-title{font-size:1.3rem}.service-description{font-size:.95rem}.services-cta{padding:2rem}.services-cta h3{font-size:1.5rem}.services-cta p{font-size:1rem}}@media (max-width: 480px){.service-card{padding:1.5rem}.service-icon{width:50px;height:50px;font-size:1.2rem}.services-cta{padding:1.5rem}}.projects{padding:3rem 0;background:#ffffff;width:100%;max-width:100%;overflow-x:hidden}@media (min-width: 769px){.projects{padding:6rem 0}}.projects .section-container{width:100%;max-width:100%;overflow-x:hidden;box-sizing:border-box}.projects-list{display:flex;flex-direction:column;gap:2rem;width:100%;max-width:100%}.project-item{width:100%;max-width:100%;border-bottom:1px solid var(--color-border-light);padding-bottom:2rem;transition:opacity .2s ease}.project-item:last-child{border-bottom:none;padding-bottom:0}.project-item:hover{opacity:.9}.project-content{width:100%;max-width:100%}.project-main{display:flex;gap:1.25rem;width:100%;max-width:100%;align-items:flex-start}.project-icon{flex-shrink:0;width:48px;height:48px;border-radius:12px;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;color:var(--color-text-white);margin-top:.25rem}.project-info{flex:1;min-width:0;width:100%;max-width:100%}.project-title-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.5rem;flex-wrap:wrap}.project-title{font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin:0;word-wrap:break-word;overflow-wrap:break-word;line-height:1.3}.project-status{font-size:.75rem;padding:.3rem .75rem;border-radius:999px;font-weight:500;white-space:nowrap;flex-shrink:0}.project-status.in-production{background:var(--color-success-bg);color:var(--color-success)}.project-status.planned{background:var(--color-bg-tertiary);color:var(--color-text-tertiary)}.project-role{font-size:.9rem;color:var(--color-text-tertiary);margin:0 0 .75rem;font-weight:500}.project-description{font-size:.95rem;line-height:1.6;color:var(--color-text-secondary);margin:0 0 1.25rem;word-wrap:break-word;overflow-wrap:break-word}.project-focus{margin:1.25rem 0 1rem}.project-focus-title{font-size:.9rem;font-weight:600;color:var(--color-text-primary);margin:0 0 .75rem}.project-footer{display:flex;align-items:center;justify-content:flex-start;gap:1rem;flex-wrap:wrap;margin-top:1rem}.project-tech-list{display:flex;flex-wrap:wrap;gap:.5rem;padding:0;margin:0;list-style:none;flex:1}.project-tech-tag{font-size:.8rem;padding:.35rem .75rem;border-radius:6px;background:var(--color-bg-tertiary);color:var(--color-text-secondary);font-weight:500}.project-link{display:flex;align-items:center;gap:.4rem;font-size:.9rem;font-weight:500;color:var(--color-primary);text-decoration:none;padding:.5rem 1rem;border-radius:6px;transition:all .2s ease;flex-shrink:0}.project-link:hover{background:var(--color-info-bg);color:var(--color-primary-dark)}@media (max-width: 768px){.projects{padding:2rem 0}.projects-list{gap:1.5rem}.project-item{padding-bottom:1.5rem}.project-main{gap:1rem}.project-icon{width:40px;height:40px}.project-title{font-size:1.1rem}.project-role{font-size:.85rem}.project-description{font-size:.9rem;margin-bottom:1rem}.project-focus{margin:1rem 0 .75rem}.project-focus-title{font-size:.85rem;margin-bottom:.5rem}.project-footer{flex-direction:column;align-items:flex-start;gap:.75rem;margin-top:.75rem}.project-link{width:100%;justify-content:center}}@media (max-width: 480px){.project-title{font-size:1rem}.project-description{font-size:.85rem}.project-tech-tag{font-size:.75rem;padding:.3rem .6rem}.project-title-row{flex-direction:column;align-items:flex-start;gap:.5rem}}@media (min-width: 1024px){.projects-list{display:grid;grid-template-columns:repeat(2,1fr);gap:2.5rem;column-gap:3rem}.project-item{border-bottom:none;border-left:2px solid var(--color-border-light);padding-left:2rem;padding-bottom:0}.project-item:last-child{border-left:2px solid var(--color-border-light)}}.process{padding:6rem 0;color:#fff}.process-steps{display:flex;flex-direction:column;gap:3rem;margin-bottom:4rem}.process-step{display:flex;align-items:flex-start;gap:2rem;position:relative}.step-number{width:60px;height:60px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:#fff;flex-shrink:0;position:relative;z-index:2}.process-step:not(:last-child):after{content:"";position:absolute;left:30px;top:60px;width:2px;height:calc(100% + 3rem);background:linear-gradient(180deg,#667eea,transparent);z-index:1}.step-content{flex:1;background:rgba(255,255,255,.1);padding:2rem;border-radius:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);transition:transform .3s ease}.step-content:hover{transform:translate(10px)}.step-icon{width:60px;height:60px;background:transparent;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.8rem;color:#e5e7eb;margin-bottom:1rem}.step-title{font-size:1.5rem;font-weight:600;margin-bottom:1rem;color:#fff}.step-description{font-size:1rem;line-height:1.6;color:#ffffffe6;margin-bottom:1.5rem}.step-details{list-style:none;padding:0}.step-detail{display:flex;align-items:center;gap:.5rem;font-size:.95rem;color:#fffc;margin-bottom:.5rem;padding:.3rem 0}.detail-bullet{color:#667eea;font-weight:700;font-size:1.2rem}.process-summary{background:rgba(255,255,255,.1);padding:3rem;border-radius:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);text-align:center}.summary-content h3{font-size:2rem;font-weight:600;margin-bottom:1rem;color:#fff}.summary-content p{font-size:1.1rem;line-height:1.6;color:#ffffffe6;margin-bottom:2rem;max-width:600px;margin-left:auto;margin-right:auto}.summary-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2rem}.stat-item{display:flex;flex-direction:column;align-items:center;gap:.5rem}.stat-number{font-size:2rem;font-weight:700;color:#667eea;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-label{font-size:.9rem;color:#fffc;font-weight:500}@media (max-width: 768px){.process-step{flex-direction:column;gap:1rem}.step-number{width:50px;height:50px;font-size:1.2rem}.process-step:not(:last-child):after{display:none}.step-content{padding:1.5rem}.step-title{font-size:1.3rem}.step-description{font-size:.95rem}.process-summary{padding:2rem}.summary-content h3{font-size:1.5rem}.summary-content p{font-size:1rem}.summary-stats{grid-template-columns:1fr;gap:1.5rem}.stat-number{font-size:1.5rem}}@media (max-width: 480px){.step-content{padding:1rem}.step-icon{width:40px;height:40px;font-size:1.2rem}.process-summary{padding:1.5rem}}.contact{padding:5rem 0}.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-top:3rem}.contact-form-section{background:white;padding:2.5rem;border-radius:16px;box-shadow:0 8px 32px #0000001a}.contact-form-section h3{font-size:1.8rem;font-weight:700;color:#333;margin-bottom:2rem;text-align:center}.contact-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.95rem;font-weight:600;color:#555}.form-group input,.form-group textarea{padding:1rem;border:2px solid #e1e5e9;border-radius:8px;font-size:1rem;transition:all .3s ease;background:#f8f9fa}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);background:var(--color-bg-primary);box-shadow:0 0 0 3px var(--color-info-bg)}.form-group textarea{resize:vertical;min-height:120px}.submit-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 2rem;font-size:1rem;font-weight:600;border:none;border-radius:12px;cursor:pointer;transition:all .4s cubic-bezier(.175,.885,.32,1.275);background:var(--gradient-primary);color:var(--color-text-white);margin-top:1rem;position:relative;overflow:hidden;box-shadow:var(--shadow-primary)}.submit-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .6s ease}.submit-btn:hover:not(:disabled){transform:translateY(-3px) scale(1.02);box-shadow:0 12px 35px #667eea66;background:linear-gradient(135deg,#5a6fd8 0%,#6a4190 100%)}.submit-btn:hover:not(:disabled):before{left:100%}.submit-btn:active:not(:disabled){transform:translateY(-1px) scale(.98);transition:all .1s ease}.submit-btn:disabled{opacity:.7;cursor:not-allowed}.submit-btn:focus{outline:2px solid rgba(102,126,234,.5);outline-offset:2px}.submit-btn svg{transition:all .3s ease}.submit-btn:hover:not(:disabled) svg{transform:translate(3px) rotate(15deg)}.loading-spinner{width:16px;height:16px;border:2px solid transparent;border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.form-message{padding:1rem;border-radius:8px;font-size:.95rem;text-align:center}.form-message.success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.form-message.error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.contact-info-section{display:flex;flex-direction:column;gap:2rem}.contact-info-section h3{font-size:1.8rem;font-weight:700;color:#333;margin-bottom:1rem}.contact-info-section>p{font-size:1rem;color:#666;line-height:1.6;margin-bottom:2rem}.contact-info-list{display:flex;flex-direction:column;gap:1.5rem}.contact-info-item{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:white;border-radius:12px;box-shadow:0 4px 20px #00000014;transition:transform .3s ease,box-shadow .3s ease}.contact-info-item:hover{transform:translateY(-2px);box-shadow:0 8px 30px #0000001f}.contact-icon{width:60px;height:60px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:1.6rem;color:var(--color-text-white);flex-shrink:0;transition:all .3s ease}.contact-icon-whatsapp{background:#25D366}.contact-icon-whatsapp:hover{background:#1fa857;transform:scale(1.1)}.contact-icon-email{background:#EA4335}.contact-icon-email:hover{background:#d33b2c;transform:scale(1.1)}.contact-icon-linkedin{background:#0077b5}.contact-icon-linkedin:hover{background:#006399;transform:scale(1.1)}.contact-icon-telegram{background:#0088cc}.contact-icon-telegram:hover{background:#006699;transform:scale(1.1)}.contact-details h4{font-size:1rem;font-weight:600;color:#333;margin-bottom:.25rem}.contact-details span,.contact-details a{font-size:.95rem;color:#666}.contact-link{color:#667eea;text-decoration:none;transition:color .3s ease}.contact-link:hover{color:#764ba2}.location-map{background:white;padding:1.5rem;border-radius:12px;box-shadow:0 4px 20px #00000014}.location-map h4{font-size:1.1rem;font-weight:600;color:#333;margin-bottom:1rem;text-align:center}.map-container{position:relative;overflow:hidden;border-radius:8px}.map-placeholder{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:2rem;text-align:center;color:#fff;position:relative;overflow:hidden}.map-placeholder:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);animation:float 6s ease-in-out infinite}@keyframes float{0%,to{transform:translate(0) rotate(0)}33%{transform:translate(30px,-30px) rotate(120deg)}66%{transform:translate(-20px,20px) rotate(240deg)}}.map-icon{font-size:3rem;margin-bottom:1rem;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.map-placeholder p{font-size:1.1rem;font-weight:600;margin-bottom:1.5rem}.service-regions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.region-tag{background:rgba(255,255,255,.2);padding:.5rem 1rem;border-radius:20px;font-size:.85rem;font-weight:500;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);animation:slideInUp .6s ease-out}.region-tag:nth-child(1){animation-delay:.1s}.region-tag:nth-child(2){animation-delay:.2s}.region-tag:nth-child(3){animation-delay:.3s}.region-tag:nth-child(4){animation-delay:.4s}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.contact-additional{background:white;padding:1.5rem;border-radius:12px;box-shadow:0 4px 20px #00000014}.contact-additional h4{font-size:1.1rem;font-weight:600;color:#333;margin-bottom:.5rem;margin-top:1.5rem}.contact-additional h4:first-child{margin-top:0}.contact-additional p{font-size:.95rem;color:#666;line-height:1.5;margin-bottom:1rem}@media (max-width: 768px){.contact-content{grid-template-columns:1fr;gap:3rem}.contact-form-section h3,.contact-info-section h3{font-size:1.5rem}.contact-info-item{padding:1rem}.contact-icon{width:50px;height:50px;font-size:1.3rem}.contact-additional{padding:1rem}.map-placeholder{padding:1.5rem}.map-icon{font-size:2.5rem}.service-regions{gap:.3rem}.region-tag{padding:.4rem .8rem;font-size:.8rem}}@media (max-width: 480px){.form-group input,.form-group textarea{padding:.8rem}.submit-btn{padding:.7rem 1.2rem;font-size:.9rem;width:100%;min-height:42px}.submit-btn:active:not(:disabled){transform:scale(.98)}.contact-info-item{flex-direction:column;text-align:center;gap:.8rem}.map-placeholder{padding:1rem}.map-icon{font-size:2rem}.service-regions{flex-direction:column;align-items:center}}.footer{background:var(--gradient-primary);color:var(--color-text-white);padding:3rem 0 0;margin-top:auto;position:relative;overflow:hidden}.footer-container{max-width:1200px;margin:0 auto;padding:0 1rem;position:relative;z-index:2}.footer-content{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:2rem;margin-bottom:2rem}@media (max-width: 768px){.footer-content{display:block!important;grid-template-columns:none!important;gap:0!important}}.footer-section{display:flex;flex-direction:column;position:relative}.footer-section:not(:last-child):after{content:"";position:absolute;top:0;right:-1rem;width:1px;height:100%;background:linear-gradient(180deg,transparent,rgba(255,255,255,.2),transparent)}.footer-brand{margin-bottom:1rem}.footer-logo{font-size:2rem;font-weight:800;background:linear-gradient(135deg,#ffffff 0%,#f0f0f0 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:1rem;letter-spacing:1px;text-shadow:0 2px 4px rgba(0,0,0,.3)}.footer-tagline{font-size:1rem;font-weight:600;color:#fff;margin-bottom:1rem;line-height:1.4;text-shadow:0 1px 2px rgba(0,0,0,.3)}.footer-description{font-size:.9rem;line-height:1.6;color:#fffffff2;margin-bottom:1rem;text-shadow:0 1px 2px rgba(0,0,0,.2)}.footer-title{font-size:1.2rem;font-weight:700;color:#fff;margin-bottom:1.5rem;position:relative}.footer-title:after{content:"";position:absolute;bottom:-.5rem;left:0;width:2rem;height:2px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:1px}.footer-links{list-style:none;padding:0;margin:0}.footer-links li{margin-bottom:.8rem}.footer-links a,.footer-links a:visited,.footer-links a:link{color:#ffffffe6;text-decoration:none;font-size:.9rem;transition:all .3s ease;display:inline-block;position:relative;text-shadow:0 1px 2px rgba(0,0,0,.2);cursor:pointer}.footer-links a:hover{color:#fff;transform:translate(5px);text-shadow:0 2px 4px rgba(0,0,0,.3)}.footer-links a,.footer-links .footer-link{color:#ffffffe6!important;text-decoration:none!important;cursor:pointer!important;pointer-events:auto!important;display:inline-block;position:relative}.footer-links .footer-link:hover{color:#fff!important;transform:translate(5px);text-shadow:0 2px 4px rgba(0,0,0,.3)}.footer-contact{display:flex;flex-direction:column;gap:.75rem}.contact-item{display:flex;align-items:center;gap:1rem;font-size:.9rem;padding:.75rem 1rem;background:rgba(255,255,255,.05);border-radius:12px;border:1px solid rgba(255,255,255,.1);transition:all .3s ease;text-decoration:none;color:#fffffff2;text-shadow:0 1px 2px rgba(0,0,0,.2)}.contact-item:hover{transform:translateY(-2px);background:rgba(255,255,255,.08);border-color:#fff3;box-shadow:0 8px 25px #ffffff1a;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3)}.contact-icon{width:50px;height:50px;min-width:50px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:1.3rem;color:var(--color-text-white);transition:all .3s ease;flex-shrink:0}.contact-icon.whatsapp-icon{background:#25D366}.contact-item:hover .whatsapp-icon{background:#1fa857;transform:scale(1.1)}.contact-icon.email-icon{background:#EA4335}.contact-item:hover .email-icon{background:#d33b2c;transform:scale(1.1)}.contact-icon.location-icon{background:#F59E0B}.contact-item:hover .location-icon{background:#d97706;transform:scale(1.1)}.contact-text{color:inherit;text-shadow:inherit}.footer-social{border-top:1px solid rgba(255,255,255,.1);padding-top:2rem;margin-bottom:2rem}.social-title{font-size:1.2rem;font-weight:700;color:#fff;margin-bottom:1.5rem;text-align:center}.social-links{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap}.footer-social-section{border-top:2px solid rgba(255,255,255,.2);padding-top:2rem;margin-bottom:2rem;text-align:center;position:relative}.footer-social-section:before{content:"";position:absolute;top:-1px;left:50%;transform:translate(-50%);width:50px;height:2px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent)}.social-title{font-size:1.2rem;font-weight:700;color:#fff;margin-bottom:1.5rem;text-shadow:0 1px 2px rgba(0,0,0,.3)}.hero-social{display:flex;gap:1rem;justify-content:center;margin-top:0}.hero-social .social-link{width:52px;height:52px;border:1px solid rgba(229,231,235,.8);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#f9fafb;font-size:1.4rem;transition:all .3s ease;text-decoration:none;background:transparent;min-width:auto;padding:0}.hero-social .social-link:hover{border-color:#fff;background:rgba(15,23,42,.15);transform:translateY(-2px);box-shadow:0 8px 25px #0f172a4d}.social-link{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.2rem 1.5rem;background:rgba(255,255,255,.05);border-radius:16px;text-decoration:none;color:#fffc;transition:all .4s cubic-bezier(.175,.885,.32,1.275);min-width:100px;border:1px solid rgba(255,255,255,.1);position:relative;overflow:hidden}.social-link:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s ease}.social-link:hover:before{left:100%}.social-link:hover{transform:translateY(-8px) scale(1.05);box-shadow:0 15px 35px #0000004d}.social-icon{font-size:1.5rem;margin-bottom:.5rem;transition:all .3s ease}.social-link:hover .social-icon{transform:scale(1.2)}.social-text{font-size:.85rem;font-weight:600;text-align:center;transition:all .3s ease}.social-link.whatsapp{border-color:#25d3664d}.social-link.whatsapp:hover{background:rgba(37,211,102,.15);border-color:#25d366;box-shadow:0 15px 35px #25d3664d}.social-link.whatsapp .social-icon{color:#25d366}.social-link.telegram{border-color:#0088cc4d}.social-link.telegram:hover{background:rgba(0,136,204,.15);border-color:#08c;box-shadow:0 15px 35px #0088cc4d}.social-link.telegram .social-icon{color:#08c}.social-link.linkedin{border-color:#0077b54d}.social-link.linkedin:hover{background:rgba(0,119,181,.15);border-color:#0077b5;box-shadow:0 15px 35px #0077b54d}.social-link.linkedin .social-icon{color:#0077b5}.social-link.github{border-color:#24292e4d}.social-link.github:hover{background:rgba(36,41,46,.15);border-color:#24292e;box-shadow:0 15px 35px #24292e4d}.social-link.github .social-icon{color:#24292e}.footer-bottom-bar{background:linear-gradient(135deg,#5a6fd8 0%,#6a4190 100%);width:100%;padding:.5rem 0;border-top:2px solid rgba(255,255,255,.3);min-height:auto;position:relative}.footer-bottom-bar:before{content:"";position:absolute;top:-1px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent)}.footer-bottom-container{max-width:1200px;margin:0 auto;padding:0 1rem}.footer-bottom-content{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:1rem;text-align:center;flex-wrap:wrap}.bottom-link{color:#ffffffd9;text-decoration:none;font-size:.85rem;transition:all .3s ease;text-shadow:0 1px 2px rgba(0,0,0,.2);cursor:pointer;display:inline-block;position:relative;z-index:10;pointer-events:auto}.bottom-link:hover{color:#fff;transform:translateY(-1px);text-shadow:0 2px 4px rgba(0,0,0,.3)}.footer-bottom-bar a,.footer-bottom-bar Link{cursor:pointer!important;pointer-events:auto!important;z-index:10!important}.separator{color:#ffffff80;font-size:.85rem;text-shadow:0 1px 2px rgba(0,0,0,.2)}.copyright{font-size:.85rem;color:#ffffffd9;margin:0;display:flex;align-items:center;gap:.5rem;text-shadow:0 1px 2px rgba(0,0,0,.2)}.heart-icon{color:#e74c3c;font-size:.9rem;animation:heartbeat 2s ease-in-out infinite}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@media (max-width: 1024px){.footer-content{grid-template-columns:1fr 1fr;gap:2rem}.footer-section:first-child{grid-column:1 / -1}}@media (max-width: 768px){.footer{padding:2rem 0 0}.footer-content{display:block;gap:0}.footer-section{display:block;margin-bottom:2rem}.footer-section:first-child{margin-bottom:2rem}.footer-section:nth-child(2),.footer-section:nth-child(3){display:inline-block!important;width:48%!important;vertical-align:top!important;margin-bottom:2rem!important;float:left!important}.footer-section:nth-child(2){margin-right:2%!important}.footer-section:nth-child(4){display:block!important;clear:both!important;width:100%!important;margin-top:2rem!important;float:none!important}.footer-section:not(:last-child):after{content:"";position:absolute;bottom:-1rem;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent)}.footer-section:nth-child(2):after,.footer-section:nth-child(3):after{display:none}.social-links{gap:1rem}.social-link{min-width:90px;padding:1rem 1.2rem}.social-icon{font-size:1.3rem}.footer-bottom-bar{padding:.75rem 0}.footer-bottom-content{flex-direction:row;text-align:center;gap:.75rem;padding:.25rem 0;flex-wrap:wrap}}@media (max-width: 480px){.footer-container{padding:0 .5rem}.footer-logo{font-size:1.5rem}.footer-tagline{font-size:.9rem}.footer-description{font-size:.8rem}.footer-section:nth-child(2),.footer-section:nth-child(3){display:block;width:100%;margin-right:0;margin-bottom:1rem}.footer-section:nth-child(4){clear:none;margin-top:1rem}.social-links{gap:.75rem}.social-link{min-width:80px;padding:.8rem 1rem}.social-icon{font-size:1.2rem}.social-text{font-size:.75rem}.footer-bottom-bar{padding:.5rem 0}.footer-bottom-content{gap:.5rem;padding:.25rem 0;flex-wrap:wrap}.copyright{font-size:.75rem;line-height:1.2;flex-direction:row;gap:.25rem}.bottom-link{font-size:.75rem;line-height:1.2}.separator{font-size:.75rem}.contact-item{font-size:.8rem}.contact-icon{width:45px;height:45px;min-width:45px;font-size:1.1rem}.contact-item{gap:.75rem;padding:.6rem .8rem}}.footer-section{animation:footerSlideUp .8s ease-out}.footer-section:nth-child(1){animation-delay:.1s}.footer-section:nth-child(2){animation-delay:.2s}.footer-section:nth-child(3){animation-delay:.3s}.footer-section:nth-child(4){animation-delay:.4s}@keyframes footerSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.social-link{animation:socialFadeIn .6s ease-out}.social-link:nth-child(1){animation-delay:.5s}.social-link:nth-child(2){animation-delay:.6s}.social-link:nth-child(3){animation-delay:.7s}.social-link:nth-child(4){animation-delay:.8s}@keyframes socialFadeIn{0%{opacity:0;transform:translateY(20px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}.footer-links a:active{transform:translate(3px)}.social-link:active{transform:translateY(-4px) scale(1.02)}.contact-item:active{transform:translate(2px)}.footer-links a:focus,.social-link:focus,.contact-link:focus,.bottom-link:focus{outline:2px solid #667eea;outline-offset:2px;border-radius:4px}.social-icon{animation:iconPulse 2s ease-in-out infinite}@keyframes iconPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.social-link:hover .social-icon{animation:none}:root{--color-primary: #4f46e5;--color-primary-dark: #4338ca;--color-primary-light: #6366f1;--color-secondary: #7c3aed;--color-secondary-dark: #6d28d9;--gradient-primary: linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%);--gradient-primary-hover: linear-gradient(135deg, #4338ca 0%, #6d28d9 100%);--gradient-secondary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--color-text-primary: #0f172a;--color-text-secondary: #475569;--color-text-tertiary: #64748b;--color-text-light: #94a3b8;--color-text-white: #ffffff;--color-bg-primary: #ffffff;--color-bg-secondary: #f8fafc;--color-bg-tertiary: #f1f5f9;--color-bg-light: #f8f9fa;--color-bg-dark: #1a1a1a;--color-border-light: rgba(148, 163, 184, .2);--color-border-medium: rgba(148, 163, 184, .3);--color-border-primary: rgba(79, 70, 124, .2);--color-success: #16a34a;--color-success-bg: rgba(34, 197, 94, .12);--color-info: #2563eb;--color-info-bg: rgba(59, 130, 246, .12);--color-warning: #d97706;--color-error: #dc2626;--shadow-sm: 0 2px 8px rgba(15, 23, 42, .08);--shadow-md: 0 4px 20px rgba(15, 23, 42, .1);--shadow-lg: 0 8px 30px rgba(15, 23, 42, .12);--shadow-primary: 0 8px 25px rgba(79, 70, 229, .3);--shadow-primary-hover: 0 12px 35px rgba(79, 70, 229, .4);--color-whatsapp: #25D366;--color-telegram: #0088cc;--color-linkedin: #0077b5;--color-github: #181717}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;color:var(--color-text-primary);background-color:var(--color-bg-primary);overflow-x:hidden;width:100%;max-width:100vw;position:relative}html{overflow-x:hidden;width:100%;max-width:100vw}ul,ol{list-style:none}a{text-decoration:none;color:inherit}button{border:none;background:none;cursor:pointer;font-family:inherit}input,textarea{border:none;outline:none;font-family:inherit}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}@media (max-width: 768px){html{font-size:16px}.container{padding:0 1rem}}button,a,.clickable{-webkit-tap-highlight-color:transparent;touch-action:manipulation}input,textarea,select{font-size:16px}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:var(--gradient-primary);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--gradient-primary-hover)}.fade-in{opacity:0;animation:fadeIn .6s ease-in forwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.transition{transition:all .3s ease}
