:root[data-theme=dark]{--bg-primary: #0a0a0a;--bg-secondary: #111;--bg-card: #161616;--bg-card-hover: #1a1a1a;--text-primary: #fff;--text-secondary: #999;--text-muted: #666;--border-color: rgba(255, 255, 255, .06);--border-hover: rgba(255, 255, 255, .15);--accent: #e70700;--accent-alpha: #e70700aa;--navbar-bg: rgba(10, 10, 10, .92);--shadow-color: rgba(0, 0, 0, .4);--font: "Inter", sans-serif}:root[data-theme=light]{--bg-primary: #f5f5f5;--bg-secondary: #fff;--bg-card: #fff;--bg-card-hover: #fafafa;--text-primary: #111;--text-secondary: #666;--text-muted: #999;--border-color: #e0e0e0;--border-hover: #ccc;--accent: #e70700;--accent-alpha: #e7070044;--navbar-bg: rgba(245, 245, 245, .92);--shadow-color: rgba(0, 0, 0, .1);--font: "Inter", sans-serif}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:auto}body,html{font-family:var(--font);background:var(--bg-primary);color:var(--text-primary);width:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s ease,color .3s ease}#app{width:100%;min-height:100vh}a{color:inherit;text-decoration:none}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;padding:0 clamp(1.5rem,4vw,4rem);height:72px;display:flex;align-items:center;transition:background .4s ease,backdrop-filter .4s ease,box-shadow .4s ease}.navbar.scrolled{background:var(--navbar-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 1px 0 var(--border-color)}.navbar .navbar-inner{width:100%;max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:space-between}.navbar .navbar-logo{font-size:1.5rem;font-weight:900;letter-spacing:-.02em;color:var(--text-primary);transition:color .3s ease}.navbar .navbar-logo:hover{color:var(--accent)}.navbar .navbar-links{display:flex;gap:2.5rem}.navbar .navbar-links a{font-size:.875rem;font-weight:500;letter-spacing:.02em;color:var(--text-secondary);transition:color .3s ease;position:relative}.navbar .navbar-links a:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--accent);transition:width .3s ease}.navbar .navbar-links a:hover{color:var(--text-primary)}.navbar .navbar-links a:hover:after{width:100%}@media(max-width:768px){.navbar .navbar-links{display:none}}.navbar .navbar-hamburger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:40px;height:40px;background:none;border:1px solid var(--border-color);border-radius:8px;cursor:pointer;padding:0;transition:border-color .3s ease}.navbar .navbar-hamburger span{width:18px;height:1.5px;background:var(--text-primary);transition:all .3s ease}.navbar .navbar-hamburger.active span:nth-child(1){transform:rotate(45deg) translate(4.5px,4.5px)}.navbar .navbar-hamburger.active span:nth-child(2){opacity:0}.navbar .navbar-hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(4.5px,-4.5px)}.navbar .navbar-hamburger:hover{border-color:var(--border-hover)}@media(max-width:768px){.navbar .navbar-hamburger{display:flex}}.mobile-overlay{position:fixed;inset:0;background:#0009;z-index:998;opacity:0;pointer-events:none;transition:opacity .3s ease}.mobile-overlay.active{opacity:1;pointer-events:all}.mobile-menu{position:fixed;top:0;right:0;width:280px;height:100vh;height:100dvh;background:var(--bg-secondary);z-index:999;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:2rem 2.5rem;gap:2rem;transform:translate(100%);transition:transform .4s cubic-bezier(.4,0,.2,1),background-color .3s ease}.mobile-menu.open{transform:translate(0)}.mobile-menu a{font-size:1.25rem;font-weight:600;color:var(--text-secondary);transition:color .3s ease}.mobile-menu a:hover{color:var(--accent)}.site{width:100%;overflow:hidden}.section-container{width:100%;max-width:1400px;margin:0 auto;padding:0 clamp(1.5rem,4vw,4rem)}.section-heading{font-size:clamp(2rem,4vw,3.5rem);font-weight:800;letter-spacing:-.03em;margin-bottom:clamp(2.5rem,5vw,4rem)}.hero{position:relative;width:100%;min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);overflow:hidden;transition:background-color .3s ease}.hero .hero-bg-dots{position:absolute;inset:0;background-image:radial-gradient(var(--text-muted) 1px,transparent 1px);background-size:40px 40px;opacity:.15;pointer-events:none}.hero .hero-content{position:relative;z-index:2;text-align:left;width:100%;max-width:1400px;padding:0 clamp(1.5rem,4vw,4rem)}.hero .hero-title{display:flex;flex-direction:column;line-height:.9;margin-bottom:1.5rem}.hero .hero-line{display:block;font-size:clamp(4rem,15vw,15vw);font-weight:900;letter-spacing:-.04em;color:var(--text-primary)}.hero .hero-red-dot{color:var(--accent)}.hero .hero-red-line{width:60px;height:3px;background:var(--accent);margin-bottom:1.5rem;transform-origin:left center}.hero .hero-tagline{font-size:clamp(1rem,2vw,1.5rem);font-weight:400;color:var(--text-secondary);max-width:600px;line-height:1.5;margin-bottom:2rem}.hero .hero-buttons{display:flex;gap:1rem;flex-wrap:wrap}.hero .btn-outline{display:inline-flex;align-items:center;justify-content:center;padding:.875rem 2rem;font-size:.95rem;font-weight:600;font-family:var(--font);color:var(--text-primary);background:transparent;border:1.5px solid var(--border-hover);border-radius:10px;cursor:pointer;transition:all .3s ease;letter-spacing:.02em}.hero .btn-outline:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}.hero .btn-filled{display:inline-flex;align-items:center;justify-content:center;padding:.875rem 2rem;font-size:.95rem;font-weight:600;font-family:var(--font);color:#fff;background:var(--accent);border:1.5px solid var(--accent);border-radius:10px;cursor:pointer;transition:all .3s ease;letter-spacing:.02em}.hero .btn-filled:hover{background:#cc0600;border-color:#cc0600;transform:translateY(-2px);box-shadow:0 8px 30px #e707004d}.hero .scroll-indicator{position:absolute;bottom:2.5rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center}.hero .scroll-indicator .scroll-line{width:1px;height:48px;background:linear-gradient(to bottom,var(--accent),transparent);animation:scrollPulse 2s ease-in-out infinite}@keyframes scrollPulse{0%,to{opacity:.3;transform:scaleY(.6)}50%{opacity:1;transform:scaleY(1)}}.stats{padding:clamp(4rem,8vw,7rem) 0;background:var(--bg-secondary);transition:background-color .3s ease}.stats .stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;text-align:center}@media(max-width:768px){.stats .stats-grid{grid-template-columns:repeat(2,1fr);gap:2.5rem}}@media(max-width:480px){.stats .stats-grid{grid-template-columns:1fr;gap:3rem}}.stats .stat-item{display:flex;flex-direction:column;align-items:center;gap:.5rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:clamp(1.5rem,3vw,2.5rem);transition:background-color .3s ease,border-color .3s ease}.stats .stat-number{font-size:clamp(3rem,7vw,5rem);font-weight:900;letter-spacing:-.04em;line-height:1;color:var(--text-primary)}.stats .stat-plus{font-size:clamp(2rem,5vw,3.5rem);font-weight:900;color:var(--accent);letter-spacing:-.04em;line-height:1}.stats .stat-label{font-size:clamp(.85rem,1.2vw,1rem);color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.08em}.about{padding:clamp(5rem,10vw,10rem) 0;background:var(--bg-primary);transition:background-color .3s ease}.about .about-statement{margin-bottom:clamp(4rem,8vw,6rem)}.about .about-statement p{font-size:clamp(1.1rem,2.2vw,1.75rem);line-height:1.7;color:var(--text-secondary);max-width:900px}.about .about-features{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1.5rem,3vw,2.5rem)}@media(max-width:600px){.about .about-features{grid-template-columns:1fr}}.about .feature-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:clamp(1.5rem,3vw,2.5rem);transition:background-color .3s ease,border-color .3s ease,transform .4s ease}.about .feature-card:hover{border-color:var(--border-hover);transform:translateY(-4px)}.about .feature-card .feature-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#e707001a;border-radius:12px;margin-bottom:1rem;color:var(--accent)}.about .feature-card h4{font-size:clamp(1.1rem,1.5vw,1.25rem);font-weight:700;margin-bottom:.5rem;color:var(--text-primary)}.about .feature-card p{font-size:clamp(.85rem,1.1vw,.95rem);color:var(--text-secondary);line-height:1.6}.stroke{position:relative;display:inline;font-weight:800;color:var(--text-primary);z-index:1}.stroke-bg{position:absolute;left:0;top:50%;width:0;height:1.3em;background:var(--accent);transform:translateY(-45%) skew(12deg,-2deg);z-index:-1;display:block}.services{padding:clamp(5rem,10vw,10rem) 0;background:var(--bg-secondary);transition:background-color .3s ease}.services .services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,3vw,3rem)}@media(max-width:1024px){.services .services-grid{grid-template-columns:1fr 1fr}}@media(max-width:768px){.services .services-grid{grid-template-columns:1fr}}.services .service-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:clamp(2rem,4vw,3rem);transition:background-color .3s ease,border-color .4s ease,transform .4s ease}.services .service-card:hover{background:var(--bg-card-hover);border-color:var(--border-hover);transform:translateY(-4px)}.services .service-number{display:block;font-size:clamp(2.5rem,5vw,4rem);font-weight:900;color:var(--accent);letter-spacing:-.04em;margin-bottom:1rem;line-height:1}.services .service-title{font-size:clamp(1.25rem,2.5vw,1.75rem);font-weight:700;margin-bottom:1rem;letter-spacing:-.01em}.services .service-desc{font-size:clamp(.9rem,1.2vw,1.05rem);color:var(--text-secondary);line-height:1.7}.tech-stack{padding:clamp(3rem,6vw,5rem) 0;display:flex;flex-direction:column;gap:1.5rem;overflow:hidden;width:100%;background:var(--bg-primary);transition:background-color .3s ease}.tech-stack .tech-row{display:flex;gap:clamp(1.5rem,3vw,3rem);align-items:center;justify-content:center;will-change:transform;padding:0 clamp(1.5rem,4vw,4rem)}.tech-stack .tech-row img{flex-shrink:0;filter:grayscale(100%) brightness(.7);transition:filter .3s ease,transform .3s ease;width:clamp(36px,5vw,60px);height:clamp(36px,5vw,60px)}.tech-stack .tech-row img:hover{filter:grayscale(0%) brightness(1);transform:scale(1.15)}.projects{padding:clamp(5rem,10vw,10rem) 0;background:var(--bg-secondary);transition:background-color .3s ease}.projects .projects-category{font-size:clamp(2rem,4vw,3.5rem);font-weight:800;letter-spacing:-.03em;color:var(--text-primary);margin-top:clamp(2.5rem,5vw,4rem);margin-bottom:clamp(2.5rem,5vw,4rem)}.projects .projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}@media(max-width:1024px){.projects .projects-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.projects .projects-grid{grid-template-columns:1fr}}.projects .project-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;overflow:hidden;transition:border-color .4s ease,transform .4s ease,background-color .3s ease;display:flex;flex-direction:column}.projects .project-card:hover{border-color:var(--border-hover);transform:translateY(-6px)}.projects .project-image{position:relative;overflow:hidden;height:200px}@media(max-width:600px){.projects .project-image{height:180px}}.projects .project-image img{width:100%;height:100%;object-fit:cover;object-position:top;transition:object-position 6s ease}.projects .project-image:hover img{object-position:bottom}@media(max-width:1024px){.projects .project-image img{transition:none}.projects .project-image:hover img{object-position:top}}.projects .project-info{padding:1.25rem;display:flex;flex-direction:column;gap:.75rem;flex:1}.projects .project-header{display:flex;align-items:center;justify-content:space-between}.projects .project-header h3{font-size:1.25rem;font-weight:700;letter-spacing:-.01em}.projects .project-arrow{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--border-color);color:var(--text-primary);transition:all .3s ease;flex-shrink:0}.projects .project-arrow svg{width:16px;height:16px}.projects .project-arrow:hover{background:var(--accent);color:#fff;transform:translateY(-2px)}.projects .project-desc{font-size:.85rem;color:var(--text-secondary);line-height:1.6}.projects .project-tools{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto;padding-top:.5rem}.projects .project-tools img{filter:grayscale(100%) brightness(.6);transition:filter .3s ease,transform .3s ease}.projects .project-tools img:hover{filter:grayscale(0%) brightness(1);transform:scale(1.15)}.process{padding:clamp(5rem,10vw,10rem) 0;background:var(--bg-primary);transition:background-color .3s ease}.process .process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1.5rem,3vw,2.5rem)}@media(max-width:1024px){.process .process-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.process .process-grid{grid-template-columns:1fr}}.process .process-step{padding:clamp(1.5rem,3vw,2.5rem);background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;transition:background-color .3s ease,border-color .4s ease,transform .4s ease}.process .process-step:hover{border-color:var(--border-hover);transform:translateY(-4px)}.process .process-number{display:block;font-size:clamp(2.5rem,5vw,4rem);font-weight:900;color:var(--accent);letter-spacing:-.04em;margin-bottom:1rem;line-height:1}.process .process-title{font-size:clamp(1.1rem,1.5vw,1.35rem);font-weight:700;margin-bottom:.75rem;color:var(--text-primary)}.process .process-desc{font-size:clamp(.85rem,1.1vw,.95rem);color:var(--text-secondary);line-height:1.6}.cta-banner{padding:clamp(4rem,8vw,7rem) 0;background:var(--bg-card);border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);text-align:center;transition:background-color .3s ease}.cta-banner .section-container{display:flex;flex-direction:column;align-items:center}.cta-banner .cta-title{font-size:clamp(1.75rem,4vw,3rem);font-weight:800;color:var(--text-primary);letter-spacing:-.03em;margin-bottom:1rem;max-width:700px}.cta-banner .cta-subtitle{font-size:clamp(.95rem,1.5vw,1.15rem);color:var(--text-secondary);margin-bottom:2rem;max-width:550px;line-height:1.6}.cta-banner .btn-cta{display:inline-flex;align-items:center;justify-content:center;padding:1rem 2.5rem;font-size:1rem;font-weight:700;font-family:var(--font);color:#fff;background:var(--accent);border:none;border-radius:10px;cursor:pointer;transition:all .3s ease;letter-spacing:.02em}.cta-banner .btn-cta:hover{background:#cc0600;transform:translateY(-2px);box-shadow:0 8px 30px #e707004d}.contact{padding:clamp(5rem,10vw,10rem) 0;background:var(--bg-secondary);transition:background-color .3s ease}.contact .contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(2rem,5vw,5rem);align-items:start}@media(max-width:768px){.contact .contact-grid{grid-template-columns:1fr;gap:3rem}}.contact .contact-left{display:flex;flex-direction:column;gap:1.5rem}.contact .contact-description{font-size:clamp(.95rem,1.2vw,1.1rem);color:var(--text-secondary);line-height:1.7}.contact .contact-email,.contact .contact-phone{font-size:clamp(1rem,1.5vw,1.25rem);font-weight:600;color:var(--text-primary);position:relative;display:inline-block;width:fit-content;transition:color .3s ease}.contact .contact-email:after,.contact .contact-phone:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--accent);transition:width .3s ease}.contact .contact-email:hover,.contact .contact-phone:hover{color:var(--accent)}.contact .contact-email:hover:after,.contact .contact-phone:hover:after{width:100%}.contact .contact-form{display:flex;flex-direction:column;gap:1rem}.contact .contact-form input,.contact .contact-form textarea{width:100%;padding:1rem 1.25rem;font-size:.95rem;font-family:var(--font);background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;color:var(--text-primary);transition:border-color .3s ease,background-color .3s ease}.contact .contact-form input::placeholder,.contact .contact-form textarea::placeholder{color:var(--text-muted)}.contact .contact-form input:focus,.contact .contact-form textarea:focus{outline:none;border-color:var(--accent);background:var(--bg-card-hover)}.contact .contact-form textarea{resize:vertical;min-height:130px}.contact .contact-form .btn-submit{padding:1rem 2.5rem;font-size:1rem;font-weight:700;font-family:var(--font);color:#fff;background:var(--accent);border:none;border-radius:10px;cursor:pointer;align-self:flex-start;transition:background .3s ease,transform .2s ease,box-shadow .3s ease;letter-spacing:.02em}.contact .contact-form .btn-submit:hover{background:#cc0600;transform:translateY(-2px);box-shadow:0 8px 30px #e707004d}.contact .contact-form .btn-submit:active{transform:translateY(0)}.contact .contact-form .form-status{font-size:.9rem;font-weight:500;min-height:1.4rem}.footer{background:var(--bg-primary);border-top:1px solid var(--border-color);padding:2rem;text-align:center;transition:background-color .3s ease}.footer p{font-size:.85rem;color:var(--text-muted)}.cursor-follower{position:fixed;inset:0;background:var(--accent-alpha);clip-path:circle(25px at -50px -50px);pointer-events:none;z-index:9999}@media(max-width:1024px){.cursor-follower{display:none}}.theme-toggle{position:fixed;bottom:1.5rem;left:1.5rem;z-index:9998;width:48px;height:48px;border-radius:50%;border:1px solid var(--border-color);background:var(--bg-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:0 4px 15px var(--shadow-color);color:var(--text-primary)}.theme-toggle svg{width:20px;height:20px}.theme-toggle:hover{transform:scale(1.1);border-color:var(--border-hover)}.lang-toggle{position:fixed;bottom:1.5rem;left:calc(2.25rem + 48px);z-index:9998;display:flex;flex-direction:column-reverse;align-items:flex-start;gap:.4rem}.lang-toggle .lang-initial{display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;letter-spacing:.5px;font-family:var(--font)}.lang-toggle .lang-toggle-btn{width:48px;height:48px;border-radius:50%;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:0 4px 15px var(--shadow-color)}.lang-toggle .lang-toggle-btn .lang-initial{font-size:.95rem}.lang-toggle .lang-toggle-btn:hover{transform:scale(1.1);border-color:var(--border-hover)}.lang-toggle .lang-options{display:flex;flex-direction:column-reverse;gap:.3rem;background:var(--bg-secondary);border-radius:12px;padding:.4rem;box-shadow:0 4px 20px var(--shadow-color);border:1px solid var(--border-color)}.lang-toggle .lang-options button{display:flex;align-items:center;gap:.5rem;padding:.4rem .7rem;border-radius:8px;border:none;background:transparent;color:var(--text-secondary);font-size:.8rem;font-weight:500;font-family:var(--font);cursor:pointer;transition:all .2s ease;white-space:nowrap}.lang-toggle .lang-options button:hover{background:var(--border-color);color:var(--text-primary)}.lang-toggle .lang-options button.active{background:var(--accent);color:#fff}.whatsapp-float{position:fixed;right:24px;bottom:24px;width:60px;height:60px;border-radius:50%;background:#25d366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #25d36666,0 4px 12px #00000026;z-index:9999;transition:transform .25s ease,box-shadow .25s ease;animation:whatsappPulse 2.4s ease-in-out infinite}.whatsapp-float:hover{transform:scale(1.08);box-shadow:0 12px 32px #25d36680,0 6px 16px #0003;animation-play-state:paused}.whatsapp-float svg{width:32px;height:32px}@media(max-width:600px){.whatsapp-float{right:16px;bottom:16px;width:54px;height:54px}.whatsapp-float svg{width:28px;height:28px}}@keyframes whatsappPulse{0%,to{box-shadow:0 8px 24px #25d36666,0 4px 12px #00000026,0 0 #25d36680}50%{box-shadow:0 8px 24px #25d36666,0 4px 12px #00000026,0 0 0 14px #25d36600}}
