:root{--primary: #1B2E84;--primary-light: #2E4AA8;--primary-dark: #152568;--primary-hover: #152568;--secondary: #67108F;--secondary-light: #9B3FC0;--tertiary: #67108F;--tertiary-fixed: #EDD4F5;--tertiary-fixed-dim: #D8B4E8;--on-tertiary-fixed: #1C1C1C;--background: #F8F9FB;--surface: #FFFFFF;--surface-warm: #F0F2F5;--text-primary: #1C1C1C;--text-secondary: #4A5568;--text-muted: #6E8CB1;--border: #C8D0D8;--shadow-sm: 0 1px 3px 0 rgba(27, 46, 132, .06);--shadow: 0 4px 12px -1px rgba(27, 46, 132, .1);--shadow-lg: 0 20px 40px -5px rgba(27, 46, 132, .12);--radius-sm: 4px;--radius: 8px;--radius-lg: 12px;--radius-full: 999px;--transition: all .3s cubic-bezier(.4, 0, .2, 1)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#f5f5f5;border-radius:5px}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:5px;border:2px solid #f5f5f5}::-webkit-scrollbar-thumb:hover{background:#1b2e84}::-webkit-scrollbar-thumb:active{background:#152568}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:IBM Plex Sans,sans-serif;font-weight:400;font-size:16px;line-height:1.6;color:var(--text-primary);background-color:var(--background)}h1,h2,h3,h4,h5,h6{font-family:Hanken Grotesk,sans-serif;font-weight:600;line-height:1.25;letter-spacing:-.01em;color:var(--text-primary);font-size:1.5em}.slide-up{opacity:1;transform:translateY(0);transition:all .7s cubic-bezier(.4,0,.2,1)}.js-enabled .slide-up{opacity:0;transform:translateY(40px)}.slide-up.revealed,.js-enabled .slide-up.revealed{opacity:1;transform:translateY(0)}.stagger-children>*:nth-child(1){transition-delay:0s}.stagger-children>*:nth-child(2){transition-delay:.1s}.stagger-children>*:nth-child(3){transition-delay:.2s}.stagger-children>*:nth-child(4){transition-delay:.3s}.stagger-children>*:nth-child(5){transition-delay:.4s}.stagger-children>*:nth-child(6){transition-delay:.5s}.stagger-children>*:nth-child(7){transition-delay:.6s}nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:#f8f9fbf2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.nav-container{max-width:1200px;margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;padding-left:0}.logo{display:flex;align-items:center;text-decoration:none}.logo img{display:block;max-height:43px;width:auto;object-fit:contain;margin-top:-13px;margin-bottom:-6px}.nav-links{display:flex;gap:2.5rem;list-style:none}.nav-links a{font-family:Hanken Grotesk,sans-serif;color:var(--text-primary);text-decoration:none;font-weight:700;font-size:12px;letter-spacing:.02em;text-transform:uppercase;transition:var(--transition);position:relative}.nav-links a:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--primary);transition:var(--transition)}.nav-links a:hover{color:var(--primary)}.nav-links a:hover:after{width:100%}.nav-links a.active{color:var(--primary)}.nav-links a.active:after{width:100%}.nav-cta{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;padding:7px 22px;border-radius:var(--radius-full);text-decoration:none;font-family:Hanken Grotesk,sans-serif;font-weight:700;font-size:11px;letter-spacing:.03em;text-transform:uppercase;transition:all .3s cubic-bezier(.4,0,.2,1);border:2px solid transparent;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;box-shadow:0 4px 14px #1b2e8459;border-radius:5px;text-align:center}.nav-cta:after{content:"→";font-size:14px;transition:transform .3s ease}.nav-cta:hover{background:linear-gradient(135deg,var(--primary-light) 0%,var(--primary) 100%);transform:translateY(-3px);box-shadow:0 8px 25px #1b2e8473}.nav-cta:hover:after{transform:translate(4px)}.hero{min-height:100vh;display:flex;align-items:center;padding:8rem 2rem 6rem;background:linear-gradient(135deg,#f8f9fb,#f0f2f5,#f8f9fb);position:relative;overflow:hidden;padding-top:50px!important}.hero:before{content:"";position:absolute;top:-50%;right:-20%;width:80%;height:200%;background:radial-gradient(ellipse,rgba(27,46,132,.03) 0%,transparent 70%);pointer-events:none;animation:heroPulse 8s ease-in-out infinite}@keyframes heroPulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.1);opacity:.8}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes floatSlow{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(1deg)}}@keyframes slideInRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}.hero-visual{position:relative;animation:slideInRight .8s ease-out forwards}.code-pyramid{display:flex;flex-direction:column;align-items:center;gap:.75rem;animation:float 6s ease-in-out infinite}.hero-floating-card{animation:floatSlow 5s ease-in-out infinite;animation-delay:1s}.hero-container{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.1fr .9fr;gap:4rem;align-items:center;position:relative;z-index:1}.hero-tag{display:inline-flex;align-items:center;gap:.5rem;background:#1b2e8414;color:var(--primary);padding:.5rem 1rem;border-radius:var(--radius-full);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1.5rem;text-shadow:0 1px 0 #e9e0d3}.hero-tag svg{width:14px;height:14px}.hero-content h1{font-size:38px;font-weight:700;color:var(--text-primary);margin-bottom:1.25rem;line-height:1.2;letter-spacing:-.02em}.hero-content h1 span{color:var(--primary);position:relative}.hero-content h1 span:after{content:"";position:absolute;bottom:4px;left:0;width:100%;height:8px;background:#1b2e8426;z-index:-1;border-radius:2px}.hero-content p{font-size:16px;color:var(--text-secondary);margin-bottom:2rem;line-height:1.6;max-width:480px}.hero-cta{display:flex;gap:1rem;flex-wrap:wrap}.btn-primary{background:linear-gradient(180deg,#67108f,#1b2e84,#152568);color:#fff;padding:.875rem 1.75rem;border-radius:4px;text-decoration:none;font-weight:600;font-size:15px;transition:var(--transition);display:inline-flex;align-items:center;gap:.5rem;border:none;cursor:pointer;box-shadow:0 4px 14px #1b2e8466,inset 0 1px #ffffff4d,inset 0 -2px #0000001a;position:relative;overflow:hidden}.btn-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transition:left .5s ease}.btn-primary:hover:before{left:100%}.btn-primary:hover{background:linear-gradient(180deg,#67108f 0% 50%,#1b2e84);transform:translateY(-2px);box-shadow:0 6px 20px #1b2e8480,inset 0 1px #fff6,inset 0 -2px #0000001a}.btn-secondary{background:linear-gradient(180deg,#fff,#f8f9fb);color:var(--text-primary);padding:.875rem 1.75rem;border-radius:4px;text-decoration:none;font-weight:600;font-size:15px;transition:var(--transition);display:inline-flex;align-items:center;gap:.5rem;border:1px solid #C8D0D8;box-shadow:0 2px 8px #0000000a,inset 0 1px #fffc;position:relative;overflow:hidden}.btn-secondary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);transition:left .5s ease}.btn-secondary:hover:before{left:100%}.btn-secondary:hover{background:linear-gradient(180deg,#fff,#fff7ed);border-color:var(--primary);color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px #1b2e8426,inset 0 1px #ffffffe6}.hero-stats{display:flex;gap:2rem;margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--border)}.hero-stat{text-align:left}.hero-stat-number{font-family:Hanken Grotesk,sans-serif;font-size:24px;font-weight:700;color:var(--primary);line-height:1}.hero-stat-label{font-size:13px;color:var(--text-muted);margin-top:.25rem}.hero-visual{position:relative}.hero-tech-showcase{position:relative;display:flex;flex-direction:column;gap:1.5rem}.code-pyramid{display:flex;flex-direction:column;align-items:center;gap:.75rem}.pyramid-layer{display:flex;gap:.75rem;justify-content:center}.tech-badge{display:inline-flex;align-items:center;gap:.5rem;background:#fff;padding:.625rem 1rem;border-radius:var(--radius);font-size:13px;font-weight:600;color:var(--text-primary);box-shadow:var(--shadow);border:1px solid var(--border);transition:var(--transition)}.tech-badge:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.tech-badge svg{width:20px;height:20px}.tech-badge.laravel{color:#ff2d20;border-color:#ff2d2033}.tech-badge.php{color:#777bb4;border-color:#777bb433}.tech-badge.react{color:#61dafb;border-color:#61dafb33}.tech-badge.code{color:#1b2e84;border-color:#1b2e8433}.tech-badge.node{color:#393;border-color:#3933}.tech-badge.python{color:#3776ab;border-color:#3776ab33}.floating-code-snippet{background:#1e1e1e;border-radius:var(--radius);overflow:hidden;box-shadow:0 20px 40px -10px #0000004d;border:1px solid #333}.code-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#252526;border-bottom:1px solid #333}.dot{width:10px;height:10px;border-radius:50%}.dot.red{background:#ff5f57}.dot.yellow{background:#ffbd2e}.dot.green{background:#28ca42}.filename{margin-left:.5rem;font-size:12px;color:#858585;font-family:SF Mono,Monaco,monospace}.code-content{padding:1rem 1.25rem;margin:0;font-family:SF Mono,Monaco,monospace;font-size:13px;line-height:1.6;overflow-x:auto}.code-keyword{color:#569cd6}.code-class{color:#4ec9b0}.code-function{color:#dcdcaa}.code-string{color:#ce9178}.hero-floating-card{position:absolute;bottom:-20px;left:-20px;background:#fff;padding:1rem 1.25rem;border-radius:var(--radius);box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:.75rem}.hero-floating-icon{width:40px;height:40px;border-radius:50%;background:#1b2e841a;display:flex;align-items:center;justify-content:center}.hero-floating-icon svg{width:20px;height:20px;color:var(--primary)}.hero-floating-text{font-size:12px;color:var(--text-muted);font-weight:500}.hero-floating-text strong{display:block;font-size:16px;color:var(--text-primary);font-weight:700}.page-hero{padding-top:60px!important;background:linear-gradient(135deg,#f8f9fb,#f0f2f5,#f8f9fb)!important;min-height:auto}.page-hero .hero-container{display:block}.page-hero .hero-content{max-width:800px;margin:0 auto;text-align:center}.page-hero .hero-content h1{font-size:42px}.page-hero .hero-content p{max-width:600px;margin-left:auto;margin-right:auto;text-align:justify}.about{padding:6rem 2rem;background:var(--surface)}.about-container{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.about-tag{display:inline-flex;align-items:center;gap:.5rem;background:#1b2e841a;color:var(--primary);padding:.5rem 1rem;border-radius:var(--radius-full);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1.25rem}.about-content h2{font-size:28px;font-weight:600;color:var(--text-primary);line-height:1.2;margin-bottom:1.25rem}.about-content>p{font-size:17px;color:var(--text-secondary);line-height:1.7;margin-bottom:2rem}.about-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;padding-top:2rem;border-top:1px solid var(--border)}.about-stat{text-align:center}.about-stat-number{font-family:Hanken Grotesk,sans-serif;font-size:30px;font-weight:700;color:var(--primary);line-height:1;margin-bottom:.5rem}.about-stat-label{font-size:14px;color:var(--text-muted);font-weight:500}.about-visual{position:relative}.about-image{width:100%;border-radius:var(--radius);box-shadow:var(--shadow-lg)}.about-experience{position:absolute;bottom:-20px;left:-20px;background:var(--primary);color:#fff;padding:1.5rem;border-radius:var(--radius);text-align:center;min-width:140px}.about-experience-number{font-family:Hanken Grotesk,sans-serif;font-size:36px;font-weight:700;line-height:1}.about-experience-text{font-size:14px;margin-top:.25rem;opacity:.9}.about-list{list-style:none;margin-top:1.5rem}.about-list li{display:flex;align-items:center;gap:.75rem;padding:.75rem 0;border-bottom:1px solid var(--border);font-size:15px;color:var(--text-secondary)}.about-list li:last-child{border-bottom:none}.about-list li svg{width:20px;height:20px;color:var(--primary);flex-shrink:0}.services{padding:6rem 2rem;background:linear-gradient(180deg,var(--surface-warm) 0%,var(--surface) 100%)}.services-container{max-width:1200px;margin:0 auto}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.service-card{background:var(--surface);border-radius:var(--radius);padding:2rem;display:flex;flex-direction:column;gap:1.25rem;border:1px solid var(--border);transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.service-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary) 0%,var(--primary-light) 100%);transform:scaleX(0);transition:transform .4s cubic-bezier(.4,0,.2,1)}.service-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px -15px #1b2e8426;border-color:#1b2e8433}.service-card:hover:before{transform:scaleX(1)}.service-header{display:flex;align-items:flex-start;justify-content:space-between}.service-number{font-family:Hanken Grotesk,sans-serif;font-size:12px;font-weight:700;color:var(--primary);background:#1b2e841a;padding:.25rem .625rem;border-radius:var(--radius-sm);letter-spacing:.02em}.service-icon{width:52px;height:52px;background:#1b2e8414;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .3s ease}.service-card:hover .service-icon{background:var(--primary);transform:scale(1.05)}.service-icon svg{width:24px;height:24px;color:var(--primary);transition:all .3s ease}.service-card:hover .service-icon svg{color:#fff}.service-content{flex:1}.service-content h3{font-size:19px;font-weight:700;color:var(--text-primary);margin-bottom:.625rem;letter-spacing:-.01em}.service-content p{font-size:15px;color:var(--text-secondary);line-height:1.6;margin-bottom:1rem}.service-link{display:inline-flex;align-items:center;gap:.375rem;font-family:Hanken Grotesk,sans-serif;font-size:14px;font-weight:600;color:var(--primary);text-decoration:none;transition:all .3s ease}.service-link:hover{gap:.625rem}.service-link:after{content:"→";transition:transform .3s ease}.process{padding:6rem 2rem;background:linear-gradient(180deg,#fef7f4,#fff4ed,#fef7f4);border-top:1px solid rgba(27,46,132,.08);border-bottom:1px solid rgba(27,46,132,.08)}.process-container{max-width:1200px;margin:0 auto}.process .section-header h2,.process .section-header p{color:var(--text-primary)}.process .section-header p{color:var(--text-secondary)}.process-timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:3rem;position:relative}.process-timeline:before{content:"";position:absolute;top:40px;left:10%;right:10%;height:2px;background:linear-gradient(90deg,var(--primary) 0%,var(--primary-light) 100%);z-index:0}.process-step{position:relative;z-index:1;background:var(--surface);border-radius:var(--radius);padding:1.5rem 1rem;border:1px solid var(--border);transition:all .3s ease;text-align:center;min-width:0}.process-step:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);border-color:var(--primary-light)}.step-icon{width:64px;height:64px;border-radius:50%;background:var(--primary);display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;position:relative;box-shadow:0 4px 15px #1b2e844d}.step-icon svg{width:28px;height:28px;color:#fff}.step-number{position:absolute;top:-8px;right:-8px;width:24px;height:24px;border-radius:50%;background:var(--surface);border:2px solid var(--primary);font-family:Hanken Grotesk,sans-serif;font-size:12px;font-weight:700;color:var(--primary);display:flex;align-items:center;justify-content:center}.process-step h3{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.process-step p{font-size:13px;color:var(--text-secondary);line-height:1.5}.portfolio{padding:6rem 2rem;background:linear-gradient(180deg,var(--surface) 0%,var(--background) 100%)}.portfolio-container{max-width:1200px;margin:0 auto}.portfolio-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:3rem}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.portfolio-card{background:var(--surface);border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);transition:all .4s cubic-bezier(.4,0,.2,1);position:relative}.portfolio-card:hover{transform:translateY(-12px);box-shadow:0 25px 50px -12px #1b2e8426;border-color:#1b2e8433}.portfolio-image-wrapper{position:relative;overflow:hidden;height:260px}.portfolio-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.4,0,.2,1)}.portfolio-card:hover img{transform:scale(1.08)}.portfolio-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 0%,rgba(28,25,23,.8) 100%);opacity:0;transition:opacity .4s ease;display:flex;align-items:flex-end;padding:1.5rem}.portfolio-card:hover .portfolio-overlay{opacity:1}.portfolio-view-btn{display:inline-flex;align-items:center;gap:.5rem;color:#fff;font-family:Hanken Grotesk,sans-serif;font-weight:600;font-size:14px;text-decoration:none;transform:translateY(20px);transition:transform .4s cubic-bezier(.4,0,.2,1)}.portfolio-card:hover .portfolio-view-btn{transform:translateY(0)}.portfolio-view-btn:after{content:"→";transition:transform .3s ease}.portfolio-view-btn:hover:after{transform:translate(4px)}.portfolio-content{padding:1.75rem}.portfolio-tag{display:inline-flex;align-items:center;gap:.375rem;font-size:12px;color:var(--primary);font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.75rem;padding:.375rem .75rem;background:#1b2e8414;border-radius:var(--radius-sm)}.portfolio-tag:before{content:"";width:6px;height:6px;background:var(--primary);border-radius:50%}.portfolio-card h3{font-size:20px;font-weight:700;color:var(--text-primary);margin-bottom:.625rem;letter-spacing:-.01em}.portfolio-card p{font-size:15px;color:var(--text-secondary);line-height:1.6;margin-bottom:1.25rem}.portfolio-stats{display:flex;gap:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border)}.portfolio-stat{display:flex;flex-direction:column}.portfolio-stat-value{font-family:Hanken Grotesk,sans-serif;font-size:18px;font-weight:700;color:var(--primary)}.portfolio-stat-label{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.testimonials{padding:5rem 2rem;background:var(--surface-warm)}.testimonials-container{max-width:1200px;margin:0 auto}.swiper{width:100%;padding:1.5rem 0 3rem}.swiper-slide{background:var(--surface);border-radius:var(--radius);padding:2.5rem;box-shadow:var(--shadow-sm);height:auto;border:1px solid var(--border)}.testimonial-text{font-size:17px;color:var(--text-primary);line-height:1.7;margin-bottom:1.5rem;font-style:italic}.testimonial-author{display:flex;align-items:center;gap:1rem}.testimonial-avatar{width:52px;height:52px;border-radius:50%;background:var(--primary);display:flex;align-items:center;justify-content:center;font-family:Hanken Grotesk,sans-serif;font-weight:600;color:#fff;font-size:18px}.testimonial-info h4{font-size:17px;font-weight:600;color:var(--text-primary);margin-bottom:.125rem}.testimonial-info p{font-size:14px;color:var(--text-muted)}.swiper-pagination{position:relative;margin-top:1.5rem}.swiper-pagination-bullet{width:12px;height:12px;background:var(--secondary-light);opacity:1;margin:0 6px!important;box-shadow:0 2px 4px #0000001a;transition:all .3s ease}.swiper-pagination-bullet:hover{background:var(--secondary);transform:scale(1.2)}.swiper-pagination-bullet-active{background:var(--primary);width:32px;border-radius:6px;box-shadow:0 4px 8px #1b2e844d}.faq{padding:6rem 2rem;background:var(--surface)}.faq-container{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1.5fr;gap:4rem;align-items:start}.faq-header{position:sticky;top:100px}.faq-header h2{font-size:28px;font-weight:600;color:var(--text-primary);margin-bottom:1rem;line-height:1.2}.faq-header>p{font-size:17px;color:var(--text-secondary);line-height:1.6;margin-bottom:2rem}.faq-contact{background:var(--background);border-radius:var(--radius);padding:1.5rem;border:1px solid var(--border)}.faq-contact h4{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.faq-contact p{font-size:14px;color:var(--text-secondary);margin-bottom:1rem;line-height:1.5}.faq-contact a{color:var(--primary);font-weight:600;text-decoration:none;font-size:15px;display:inline-flex;align-items:center;gap:.25rem;transition:var(--transition)}.faq-contact a:hover{gap:.5rem}.faq-list{display:flex;flex-direction:column;gap:.75rem}.faq-item{background:var(--background);border-radius:var(--radius);border:1px solid var(--border);overflow:hidden;transition:all .3s ease}.faq-item:hover{border-color:var(--secondary-light);box-shadow:var(--shadow-sm)}.faq-item.active{border-color:var(--primary);box-shadow:0 4px 20px #1b2e841a}.faq-question{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;cursor:pointer;transition:var(--transition);gap:1rem}.faq-question-content{display:flex;align-items:center;gap:1rem}.faq-number{width:32px;height:32px;border-radius:50%;background:#1b2e841a;color:var(--primary);display:flex;align-items:center;justify-content:center;font-family:Hanken Grotesk,sans-serif;font-weight:600;font-size:14px;flex-shrink:0}.faq-item.active .faq-number{background:var(--primary);color:#fff}.faq-question h3{font-size:16px;font-weight:600;color:var(--text-primary);line-height:1.4}.faq-icon-wrapper{width:32px;height:32px;border-radius:50%;background:var(--surface-warm);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:var(--transition)}.faq-item.active .faq-icon-wrapper{background:var(--primary)}.faq-icon{width:18px;height:18px;color:var(--secondary);transition:var(--transition)}.faq-item.active .faq-icon{color:#fff;transform:rotate(180deg)}.faq-answer{max-height:0;overflow:hidden;opacity:0;transition:max-height .3s ease,opacity .3s ease,padding .3s ease;padding:0 1.5rem 0 4rem}.faq-item.active .faq-answer{max-height:500px;opacity:1;padding:0 1.5rem 1.5rem 4rem}.faq-answer p{font-size:15px;color:var(--text-secondary);line-height:1.7}.cta-section{padding:6rem 2rem;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 50%,var(--secondary) 100%);text-align:center;position:relative;overflow:hidden}.cta-section:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 30% 70%,rgba(255,255,255,.08) 0%,transparent 50%),radial-gradient(circle at 70% 30%,rgba(103,16,143,.15) 0%,transparent 50%);pointer-events:none}.cta-section:after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.12) 1px,transparent 1px);background-size:24px 24px;opacity:.6;pointer-events:none}.cta-container{max-width:700px;margin:0 auto;position:relative;z-index:1}.cta-badge{display:inline-flex;align-items:center;gap:.5rem;background:#ffffff26;color:#fff;padding:.5rem 1rem;border-radius:var(--radius-full);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1.5rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2)}.cta-section h2{font-size:32px;font-weight:700;color:#fff;margin-bottom:1rem;line-height:1.2;letter-spacing:-.01em}.cta-section p{font-size:18px;color:#ffffffe6;margin-bottom:2rem;line-height:1.6;max-width:500px;margin-left:auto;margin-right:auto}.cta-btn{background:#fff;color:var(--primary);padding:1rem 2.5rem;border-radius:var(--radius);text-decoration:none;font-family:Hanken Grotesk,sans-serif;font-weight:700;font-size:15px;letter-spacing:.02em;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;gap:.75rem;box-shadow:0 10px 40px #00000040;border:2px solid transparent}.cta-btn:after{content:"";width:18px;height:18px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%231B2E84' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M13.5 4.5L21 12m0 0l-7.5 7.5M21 12H3'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;transition:transform .3s ease}.cta-btn:hover{transform:translateY(-4px);box-shadow:0 20px 50px #00000059;background:#fffffff2}.cta-btn:hover:after{transform:translate(4px)}.cta-trust{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:2rem;font-size:14px;color:#ffffffb3}.cta-trust svg{width:20px;height:20px;color:#fffc}footer{background:#292524;color:#fff;padding:3rem 2rem 1.5rem}.footer-container{max-width:1200px;margin:0 auto}.footer-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:2.5rem;margin-bottom:2rem}.footer-logo-link{display:inline-block;margin-bottom:.75rem}.footer-logo{height:54px;width:auto;filter:brightness(0) invert(1);margin-top:-26px;margin-bottom:-7px;margin-left:-10px}.footer-brand p{color:#ffffffb3;font-size:15px;line-height:1.6;margin-bottom:1rem}.footer-contact{display:flex;flex-direction:column;gap:.5rem}.footer-contact-item{display:flex;align-items:center;gap:.5rem;color:#ffffffb3;font-size:14px}.footer-contact-item svg{width:16px;height:16px;color:var(--primary-light)}.footer-column h4{font-size:16px;font-weight:600;margin-bottom:1rem;color:#fff}.footer-column-header{display:flex;align-items:center;justify-content:space-between;cursor:default}.footer-chevron{display:none;width:20px;height:20px;transition:transform .3s ease}.footer-chevron.open{transform:rotate(180deg)}.footer-links{list-style:none;display:flex;flex-direction:column;gap:.5rem}@media(max-width:768px){.footer-column-header{cursor:pointer}.footer-chevron{display:block}.footer-links{max-height:0;overflow:hidden;transition:max-height .3s ease}.footer-links.open{max-height:200px}}.footer-links a{color:#ffffffb3;text-decoration:none;font-size:14px;transition:var(--transition)}.footer-links a:hover{color:var(--primary-light)}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:1.5rem;display:flex;justify-content:space-between;align-items:center}.footer-copyright{color:#ffffff80;font-size:14px}.footer-legal{display:flex;gap:1.5rem}.footer-legal a{color:#ffffff80;text-decoration:none;font-size:14px;transition:var(--transition)}.footer-legal a:hover{color:var(--primary-light)}.floating-buttons{position:fixed;bottom:2rem;right:2rem;display:flex;flex-direction:column;gap:1rem;z-index:999}.scroll-to-top{width:50px;height:50px;border-radius:50%;background:var(--primary);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #1b2e844d;transition:all .3s ease;opacity:0;visibility:hidden;transform:translateY(20px)}.scroll-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.scroll-to-top:hover{background:var(--primary-dark);transform:translateY(-3px);box-shadow:0 6px 16px #1b2e8466}.scroll-to-top svg{width:24px;height:24px}.whatsapp-float{width:50px;height:50px;border-radius:50%;background:#25d366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #25d3664d;transition:all .3s ease;text-decoration:none}.whatsapp-float:hover{background:#128c7e;transform:translateY(-3px);box-shadow:0 6px 16px #25d36666}.whatsapp-float svg{width:26px;height:26px}@media(max-width:1024px){.hero-container{grid-template-columns:1fr;text-align:center}.hero-content p{margin-left:auto;margin-right:auto}.hero-cta,.hero-stats{justify-content:center}.about-container{grid-template-columns:1fr;text-align:center}.about-content h2{font-size:26px}.about-stats{gap:1rem}.about-experience{left:50%;transform:translate(-50%);bottom:-30px}.services-grid{grid-template-columns:repeat(1,1fr)}.process-timeline{grid-template-columns:repeat(2,1fr);gap:2rem}.process-timeline:before{display:none}.portfolio-grid{grid-template-columns:repeat(2,1fr)}.portfolio-header{flex-direction:column;align-items:flex-start;gap:1rem}.faq-container{grid-template-columns:1fr;gap:2rem}.faq-header{position:static;text-align:center}.faq-contact{max-width:400px;margin:0 auto}.footer-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.nav-links{display:none}.hero{padding-top:6rem}.hero-content h1{font-size:30px}.hero-tech-showcase{order:-1;margin-bottom:2rem}.tech-badge{padding:.5rem .75rem;font-size:12px}.tech-badge svg{width:16px;height:16px}.floating-code-snippet{display:none}.about-content h2{font-size:26px}.about-stats{grid-template-columns:1fr;gap:1.5rem}.about-stat-number,.section-header h2{font-size:26px}.faq-header h2{font-size:28px}.faq-question{padding:1.25rem}.faq-question h3{font-size:15px}.faq-number{width:28px;height:28px;font-size:12px}.faq-icon-wrapper{width:28px;height:28px}.faq-answer{padding:0 1.25rem 0 3.5rem}.faq-item.active .faq-answer{padding:0 1.25rem 1.25rem 3.5rem}.process-timeline{grid-template-columns:1fr;gap:1.5rem}.process-step{padding:1.5rem}.step-icon{width:56px;height:56px}.step-icon svg{width:24px;height:24px}.portfolio-grid{grid-template-columns:1fr}.cta-section h2{font-size:26px}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;text-align:center;gap:1rem}}.contact-section{padding:4rem 2rem;background:var(--surface)}.contact-container{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1.2fr;gap:4rem}.contact-info h2{font-size:28px;font-weight:600;color:var(--text-primary);margin-bottom:1rem}.contact-info>p{font-size:16px;color:var(--text-secondary);line-height:1.6;margin-bottom:2rem}.contact-cards{display:flex;flex-direction:column;gap:1rem;margin-bottom:2.5rem}.contact-card{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem;background:var(--background);border-radius:var(--radius);border:1px solid var(--border);transition:var(--transition)}.contact-card:hover{border-color:var(--primary-light);box-shadow:var(--shadow)}.contact-icon{width:48px;height:48px;background:#1b2e841a;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;flex-shrink:0}.contact-icon svg{width:24px;height:24px;color:var(--primary)}.contact-details h4{font-size:14px;font-weight:600;color:var(--text-muted);margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.05em}.contact-details a,.contact-details p{font-size:15px;color:var(--text-primary);text-decoration:none;line-height:1.5}.contact-details a:hover{color:var(--primary)}.social-links h4{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:1rem}.social-icons{display:flex;gap:.75rem}.social-icon{width:44px;height:44px;background:var(--background);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);border:1px solid var(--border);transition:var(--transition)}.social-icon:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:translateY(-2px)}.social-icon svg{width:20px;height:20px}.contact-form-wrapper{background:var(--background);border-radius:var(--radius-lg);padding:2.5rem;border:1px solid var(--border)}.contact-form h3{font-size:22px;font-weight:600;color:var(--text-primary);margin-bottom:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.875rem 1rem;font-family:IBM Plex Sans,sans-serif;font-size:15px;color:var(--text-primary);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:var(--transition)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #1b2e841a}.form-group textarea{resize:vertical;min-height:120px}.checkbox-group{margin:1.5rem 0}.checkbox-label{display:flex;align-items:flex-start;gap:.75rem;font-size:14px;color:var(--text-secondary);cursor:pointer}.checkbox-label input{width:auto;margin:0}.checkbox-label a{color:var(--primary);text-decoration:none}.checkbox-label a:hover{text-decoration:underline}.map-section{background:var(--surface-warm)}.map-container iframe{display:block;filter:grayscale(20%)}.legal-section{padding:4rem 2rem 6rem;background:var(--surface)}.legal-container{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:280px 1fr;gap:4rem}.legal-sidebar{position:sticky;top:120px;height:fit-content}.legal-nav{background:var(--background);border-radius:var(--radius);padding:1.5rem;border:1px solid var(--border)}.legal-nav h4{font-size:14px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem}.legal-nav ul{list-style:none;display:flex;flex-direction:column;gap:.5rem}.legal-nav a{display:block;font-size:14px;color:var(--text-secondary);text-decoration:none;border-left:2px solid transparent;padding:.5rem 0 .5rem 1rem;margin-left:-1rem;transition:var(--transition)}.legal-nav a:hover{color:var(--primary);border-left-color:var(--primary)}.legal-content{max-width:700px}.legal-last-updated{background:#1b2e8414;border-radius:var(--radius);padding:1rem 1.25rem;margin-bottom:2rem}.legal-last-updated p{font-size:14px;color:var(--text-secondary);margin:0}.legal-section-content{margin-bottom:2.5rem}.legal-section-content h2{font-size:24px;font-weight:600;color:var(--text-primary);margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid var(--border)}.legal-section-content h3{font-size:18px;font-weight:600;color:var(--text-primary);margin:1.5rem 0 .75rem}.legal-section-content p{font-size:15px;color:var(--text-secondary);line-height:1.7;margin-bottom:1rem}.legal-section-content ul{list-style:disc;margin-left:1.5rem;margin-bottom:1rem}.legal-section-content ul li{font-size:15px;color:var(--text-secondary);line-height:1.7;margin-bottom:.5rem}.legal-section-content strong{color:var(--text-primary);font-weight:600}.legal-contact-box{background:var(--background);border-radius:var(--radius);padding:1.5rem;border:1px solid var(--border);margin-top:1rem}.legal-contact-box p{margin-bottom:.5rem}.legal-contact-box a{color:var(--primary);text-decoration:none}.legal-contact-box a:hover{text-decoration:underline}@media(max-width:1024px){.contact-container{grid-template-columns:1fr;gap:3rem}.legal-container{grid-template-columns:1fr;gap:2rem}.legal-sidebar{position:static;order:-1}.legal-nav{padding:1rem}.legal-nav ul{display:grid;grid-template-columns:repeat(2,1fr);gap:.25rem}.legal-nav a{padding:.375rem 0;margin:0;border-left:none}.form-row{grid-template-columns:1fr}}@media(max-width:768px){.contact-section{padding:2rem 1.5rem}.contact-form-wrapper{padding:1.5rem}.contact-cards{gap:.75rem}.contact-card{padding:1rem}.legal-section{padding:2rem 1.5rem 4rem}.legal-nav ul{grid-template-columns:1fr}.legal-section-content h2{font-size:20px}.legal-section-content h3{font-size:16px}section#about{padding:3rem 1rem}.nav-container>a.nav-cta{display:none}.hero-content>p{text-align:center}.process-step p{text-align:justify}.hero-content p{text-align:center}.faq-header>p{text-align:justify}section#services{padding:3rem 1rem}section.hero.page-hero{padding:5rem 1rem 3rem!important}.footer-column{padding-inline:0}section#contact{padding:3rem 1rem}section.page-hero{padding:5rem 1rem 3rem!important}.hero-content h1{font-size:clamp(25px,8vw,30px);line-height:1.12;text-align:center!important;margin-bottom:.9rem}.hero{min-height:auto;padding:4.75rem 1rem 3rem!important}.hero-container{gap:1.5rem}.hero-content{text-align:center}.hero-tag{max-width:100%;padding:.4rem .6rem;margin-bottom:.9rem;font-size:8px;line-height:1.25}.hero-content p{max-width:34rem;margin-bottom:1.25rem;font-size:12px;line-height:1.5}.hero-cta{flex-wrap:nowrap;gap:.5rem}.hero-cta .btn-primary,.hero-cta .btn-secondary{flex:1 1 0;justify-content:center;min-height:2.25rem;padding:.6rem .7rem;font-size:11px;white-space:nowrap}.hero-cta .btn-primary svg{width:14px;height:14px}.hero-stats{justify-content:space-between;gap:.35rem;margin-top:1.4rem;padding-top:.9rem}.hero-stat{flex:1 1 0;min-width:0;text-align:center}.hero-stat-number{font-size:18px}.hero-stat-label{font-size:9px;line-height:1.3}.hero-visual{width:100%}.hero-tech-showcase{margin-bottom:0}.code-pyramid>.hero-image{display:block;width:100%;max-width:100%;height:auto;object-fit:cover;border-radius:var(--radius-lg, 16px)}.code-pyramid>.hero-image{max-height:210px;object-fit:cover}.hero-floating-card{left:.5rem;bottom:-1rem;padding:.55rem .65rem;gap:.45rem}.hero-floating-icon{width:28px;height:28px}.hero-floating-icon svg{width:15px;height:15px}.hero-floating-text{font-size:9px}.hero-floating-text strong{font-size:12px}.floating-buttons{right:.75rem;bottom:.9rem}.whatsapp-float{width:40px;height:40px}.whatsapp-float svg{width:21px;height:21px}}@media(max-width:380px){.hero{padding-inline:.75rem!important}.hero-content p{font-size:11px}.hero-cta .btn-primary,.hero-cta .btn-secondary{padding-inline:.45rem;font-size:10px}.hero-stat-label{font-size:8px}}html[dir=rtl] .hero-container,html[dir=rtl] .about-container,html[dir=rtl] .contact-container,html[dir=rtl] .legal-container,html[dir=rtl] .faq-container{direction:rtl}html[dir=rtl] .hero-content,html[dir=rtl] .about-content,html[dir=rtl] .section-header,html[dir=rtl] .portfolio-header,html[dir=rtl] .contact-content,html[dir=rtl] .contact-form-wrapper,html[dir=rtl] .legal-section-content,html[dir=rtl] .faq-header{text-align:right}html[dir=rtl] .hero-content p,html[dir=rtl] .about-content>p,html[dir=rtl] .page-hero .hero-content p,html[dir=rtl] .contact-content>p,html[dir=rtl] .legal-section-content p,html[dir=rtl] .legal-section-content li,html[dir=rtl] .faq-header>p,html[dir=rtl] .service-card p,html[dir=rtl] .process-step p{text-align:right}html[dir=rtl] .hero-cta{flex-direction:row-reverse;justify-content:flex-end}html[dir=rtl] .hero-stats{direction:rtl}html[dir=rtl] .hero-stat,html[dir=rtl] .about-stat{text-align:right}html[dir=rtl] .hero-floating-card,html[dir=rtl] .about-experience{left:auto;right:-20px}html[dir=rtl] .section-header h2,html[dir=rtl] .service-card h3,html[dir=rtl] .process-step h3,html[dir=rtl] .portfolio-card h3,html[dir=rtl] .faq-question h3,html[dir=rtl] .faq-answer,html[dir=rtl] .cta-section{text-align:right}html[dir=rtl] .faq-answer{padding-left:1.25rem;padding-right:3.5rem}html[dir=rtl] .faq-number{margin-left:.75rem;margin-right:0}html[dir=rtl] .faq-icon-wrapper{margin-left:0;margin-right:auto}html[dir=rtl] .contact-form input,html[dir=rtl] .contact-form textarea,html[dir=rtl] .contact-form select,html[dir=rtl] .contact-form label{text-align:right;direction:rtl}html[dir=rtl] .legal-nav a{border-left:none;border-right:2px solid transparent;padding-left:0;padding-right:1rem;margin-left:0;margin-right:-1rem}html[dir=rtl] .legal-nav a.active,html[dir=rtl] .legal-nav a:hover{border-right-color:var(--primary)}html[dir=rtl] .legal-contact-box{text-align:right}html[dir=rtl] .footer-bottom,html[dir=rtl] .footer-legal{direction:rtl}@media(max-width:768px){html[dir=rtl] .hero-content,html[dir=rtl] .hero-content p,html[dir=rtl] .hero-content h1,html[dir=rtl] .hero-stat,html[dir=rtl] .about-stat,html[dir=rtl] .section-header,html[dir=rtl] .section-header h2,html[dir=rtl] .faq-header,html[dir=rtl] .faq-header>p{text-align:center}html[dir=rtl] .hero-cta{flex-direction:row-reverse;justify-content:center}html[dir=rtl] .hero-floating-card,html[dir=rtl] .about-experience{right:.5rem;left:auto}html[dir=rtl] .faq-answer{padding-left:1.25rem;padding-right:3.5rem}}
