:root{--dark-bg: #0a0f1f;--dark-surface: #10162b;--light-bg: #f8fafc;--light-surface: #ffffff;--primary-blue: #3b82f6;--primary-blue-dark: #2563eb;--primary-glow: #93c5fd;--text-light: #e2e8f0;--text-dark: #1e293b;--text-muted-light: #cbd5e1;--text-muted-dark: #64748b;--hero-gap-base: 1.5rem;--hero-gap-small: calc(var(--hero-gap-base) * .67);--hero-gap-large: calc(var(--hero-gap-base) * 1.33);--border-dark: #334155;--border-light: #e2e8f0;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--radius: .75rem;--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .07), 0 2px 4px -2px rgb(0 0 0 / .07);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--transition: .3s cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background-color:var(--dark-bg);color:var(--text-light);-webkit-font-smoothing:antialiased;overflow-x:hidden}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.wp-content ul,.wp-content ol,.article-excerpt ul,.article-excerpt ol{margin:1rem 0;padding-left:1.25rem;list-style-position:inside}.wp-content li,.article-excerpt li{margin:.25rem 0}.wp-content li>ul,.wp-content li>ol,.article-excerpt li>ul,.article-excerpt li>ol{margin-top:.5rem;padding-left:1rem}.wp-content ul{list-style-type:disc}.wp-content ol{list-style-type:decimal}.wp-content ul ul{list-style-type:circle}.wp-content ul ul ul{list-style-type:square}.wp-content ul[style],.wp-content ol[style],.article-excerpt ul[style],.article-excerpt ol[style]{margin:1rem 0!important;padding-left:1.25rem!important;list-style-position:inside!important}.hero-container{max-width:1200px;margin:0 auto;padding:0 2rem;width:100%}.section{padding:6rem 0;position:relative;overflow:hidden}#hero{padding:8rem 0 6rem}.section-header{text-align:center;max-width:700px;margin:0 auto 4rem}.section-title{font-size:clamp(2.25rem,5vw,3rem);font-weight:800;line-height:1.2;margin-bottom:1rem}.title-accent{color:var(--primary-blue)}.section-description{font-size:1.125rem;color:var(--text-muted-dark)}.navbar{position:fixed;top:0;left:0;width:100%;z-index:1000;padding:1.5rem 0;transition:all .3s ease-out}.navbar.scrolled{background-color:#0a0f1fcc;padding:1rem 0;border-bottom:1px solid var(--border-dark)}.nav-content{display:flex;justify-content:space-between;align-items:center}.nav-brand{font-size:1.5rem;font-weight:800;text-decoration:none;color:var(--text-light);display:flex;align-items:center;gap:.5rem}.nav-logo{height:32px;width:auto;object-fit:contain}.nav-menu{display:flex;align-items:center;gap:1.5rem}.nav-link{font-weight:600;color:var(--text-light);text-decoration:none;position:relative}.nav-link:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background-color:var(--primary-blue);transition:width var(--transition)}.nav-link:hover:after{width:100%}.nav-link.active:after{width:100%}.language-toggle{display:flex;background:#ffffff1a;border-radius:99px;padding:2px}.lang-btn{background:none;border:none;padding:.25rem .75rem;border-radius:99px;font-weight:600;cursor:pointer;transition:all var(--transition);color:var(--text-muted-light)}.lang-btn.active{background-color:var(--primary-blue);color:var(--dark-bg);box-shadow:var(--shadow-md)}.nav-cta{background-color:var(--primary-blue);color:var(--dark-bg);padding:.6rem 1.2rem;border-radius:99px;text-decoration:none;font-weight:600;transition:background-color .3s ease}.nav-cta:hover{background-color:var(--primary-glow)}.mobile-menu-toggle{display:none}#hero{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:center;text-align:center;color:var(--text-light);overflow:hidden;z-index:1;transition:min-height .3s ease}.hero-background{position:absolute;inset:0;z-index:0;background-color:var(--dark-bg)}.hero-background:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,transparent 40%,var(--dark-bg) 80%);z-index:1}.hero-video{width:100%;height:100%;object-fit:cover;opacity:.3;position:absolute;top:0;left:0;z-index:0}.hero-wrapper{position:relative;z-index:2;background:transparent}.hero-content{max-width:100%;margin:0 auto;transition:opacity .3s ease;display:flex;flex-direction:column;align-items:center;text-align:center;gap:0}.company-badge{display:inline-block;background:#ffffff1a;padding:.5rem 1rem;border-radius:99px;font-weight:500;margin-bottom:var(--hero-gap-base);border:1px solid var(--border-dark)}.hero-title{font-size:clamp(2.8rem,6vw,4.5rem);font-weight:800;line-height:1.1;margin-bottom:var(--hero-gap-large);text-shadow:0 2px 20px rgba(0,0,0,.5)}.desktop-title{display:block}.mobile-title{display:none}.hero-description{font-size:1.25rem;max-width:600px;margin:0 auto var(--hero-gap-large);color:var(--text-muted-light);text-shadow:0 1px 3px rgba(0,0,0,.4)}.hero-actions{display:flex;justify-content:center;gap:1rem;margin-bottom:var(--hero-gap-large)}.btn-white{background-color:#fff;color:var(--dark-bg);padding:.8rem 1.8rem;font-weight:700;border-radius:var(--radius);text-decoration:none}.btn-white:hover{background-color:var(--primary-blue);color:#fff;transform:translateY(-2px)}.btn-outline{border:2px solid white;color:#fff;padding:.8rem 1.8rem;font-weight:700;border-radius:var(--radius);text-decoration:none}.btn-outline:hover{background-color:var(--primary-blue);color:#fff;border-color:var(--primary-blue);transform:translateY(-2px)}.clients-in-hero{width:100%;padding:2rem 0;margin-top:6rem;position:relative;z-index:10}.clients-carousel{overflow:hidden;position:relative}.clients-track{display:flex;width:max-content;animation:scroll 40s linear infinite}.client-logo{width:auto;display:flex;align-items:center;justify-content:center;margin:0 30px;opacity:1}.client-logo img{height:28px;width:auto;max-width:none;object-fit:contain;opacity:1;border-radius:2px}.client-logo img[alt=Aruna],.client-logo img[alt=careFAST],.client-logo img[alt="Bank Index"],.client-logo img[alt="PO1 Network"],.client-logo img[alt="Zett Print"],.client-logo img[alt=Konektifa],.client-logo img[alt="Zysku Xena"],.client-logo img[alt="Koko Lie Mart"]{background-color:#fff;padding:2px;border-radius:2px}.client-logo img[alt=Porter]{height:35px}.client-emoji{font-size:1.5rem}.client-scroll .client-name{font-weight:600;font-size:1.2rem;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2)}@keyframes scroll{0%{transform:translate(0)}to{transform:translate(-1200px)}}.transition-section{display:none}#portfolio{position:relative;z-index:10;background-color:var(--light-bg);margin-top:0}#services{background-color:var(--light-bg);color:var(--text-dark);padding:8rem 0}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2.5rem;max-width:1200px;margin:0 auto}.service-card{background-color:var(--light-surface);border-radius:1.5rem;padding:2.5rem 2rem;box-shadow:0 4px 20px #00000014;transition:all .4s cubic-bezier(.4,0,.2,1);border:1px solid rgba(59,130,246,.1);position:relative;overflow:hidden}.service-card:before{content:"";position:absolute;top:0;right:0;width:100px;height:100px;background:linear-gradient(135deg,rgba(59,130,246,.05) 0%,transparent 50%);border-radius:0 1.5rem 0 100%;pointer-events:none}.service-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 12px 40px #3b82f626;border-color:#3b82f633}.service-icon{margin-bottom:2rem;display:flex;align-items:center;justify-content:center}.service-icon div{width:60px;height:60px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:1rem;display:flex;align-items:center;justify-content:center;position:relative;transition:transform .3s ease}.service-card:hover .service-icon div{transform:scale(1.1) rotate(5deg)}.icon-globe:before{content:"🌐";position:absolute;font-size:1.5rem}.icon-mobile:before{content:"📱";position:absolute;font-size:1.5rem}.icon-business:before{content:"💼";position:absolute;font-size:1.5rem}.icon-database:before{content:"🗄️";position:absolute;font-size:1.5rem}.service-card h3{font-size:1.4rem;font-weight:700;margin-bottom:1rem;color:var(--text-dark);letter-spacing:-.02em;line-height:1.3}.service-card p{color:var(--text-muted-dark);margin-bottom:2rem;font-weight:400;line-height:1.7;font-size:.95rem}.tech-stack{display:flex;flex-wrap:wrap;gap:.5rem}.tech-tag{background-color:transparent;color:var(--primary-blue);border:1px solid rgba(59,130,246,.2);padding:.3rem .8rem;border-radius:6px;font-size:.8rem;font-weight:500;transition:all .2s ease}.tech-tag:hover{background-color:var(--primary-blue);color:#fff;transform:translateY(-1px)}#portfolio{background-color:var(--light-surface);color:var(--text-dark);padding:8rem 0}.portfolio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:3rem;max-width:1200px;margin:0 auto;align-items:stretch}.portfolio-card{background-color:var(--light-surface);border-radius:1.5rem;overflow:hidden;box-shadow:0 4px 20px #00000014;transition:all .4s cubic-bezier(.4,0,.2,1);border:1px solid rgba(59,130,246,.1);position:relative;height:100%;display:flex;flex-direction:column}.portfolio-card:before{content:"";position:absolute;bottom:0;right:0;width:80px;height:80px;background:linear-gradient(135deg,rgba(59,130,246,.03) 0%,transparent 50%);border-radius:100% 0 1.5rem;pointer-events:none;z-index:1}.portfolio-section{position:relative}.portfolio-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000c;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:999;opacity:0;visibility:hidden;transition:all .4s cubic-bezier(.4,0,.2,1)}.portfolio-backdrop.active{opacity:1;visibility:visible}.portfolio-card:hover:not(.expanded){transform:translateY(-8px) scale(1.02);box-shadow:0 12px 40px #3b82f626;border-color:#3b82f633;cursor:pointer}.portfolio-card.expanded{position:fixed!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%) scale(1.2)!important;width:80vw!important;max-width:900px!important;max-height:85vh!important;z-index:1000!important;overflow-y:auto;box-shadow:0 25px 100px #00000080!important;border:2px solid var(--primary-blue)!important;animation:expandCard .5s cubic-bezier(.4,0,.2,1) forwards}@keyframes expandCard{0%{transform:translate(-50%,-50%) scale(1);opacity:.8}to{transform:translate(-50%,-50%) scale(1.2);opacity:1}}.portfolio-card.expanded .portfolio-image{height:100%!important;max-height:80vh!important;border-radius:1.5rem!important;overflow:hidden}.portfolio-card.expanded .portfolio-image img{height:100%!important;max-height:80vh!important;object-fit:contain!important;width:100%!important;border-radius:1.5rem!important}.portfolio-card.expanded .portfolio-content{display:none!important}.portfolio-close{position:absolute;top:1rem;right:1rem;width:40px;height:40px;border-radius:50%;background:#ffffffe6;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:700;color:var(--text-dark);z-index:1001;transition:all .2s ease;opacity:0}.portfolio-card.expanded .portfolio-close{opacity:1}.portfolio-close:hover{background:#fff;transform:scale(1.1)}body.portfolio-expanded{overflow:hidden}.portfolio-image img{width:100%;height:200px;object-fit:cover;display:block;border-radius:1.5rem 1.5rem 0 0}.portfolio-content{padding:2rem 1.5rem;flex:1;display:flex;flex-direction:column}.portfolio-category{color:var(--primary-blue);font-weight:600;font-size:.8rem;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.05em}.portfolio-card h3{font-size:1.3rem;font-weight:700;margin-bottom:1rem;color:var(--text-dark);letter-spacing:-.01em;line-height:1.3}.portfolio-card p{color:var(--text-muted-dark);margin-bottom:.75rem;font-size:.95rem;line-height:1.6;font-weight:400}.features-list{margin:.75rem 0}.features-list ul{margin:0;padding:0;list-style:none}.features-list li{position:relative;padding-left:1.5rem;margin-bottom:.75rem;color:var(--text-muted-dark);font-size:.9rem;line-height:1.5}.features-list li:before{content:"•";position:absolute;left:0;color:var(--primary-blue);font-weight:700;font-size:1rem}.portfolio-metrics{display:flex;gap:2rem;border-top:1px solid var(--border-light);padding-top:1rem}.metric .metric-value{font-weight:700;font-size:1.125rem;display:block;color:var(--text-dark)}.metric .metric-label{font-size:.875rem;color:var(--text-muted-dark)}.portfolio-cta{text-align:center;margin-top:3rem}.btn-outline-primary{border-color:var(--primary-blue-dark);color:var(--primary-blue-dark);padding:.7rem 1.5rem;border-radius:var(--radius);text-decoration:none}.btn-outline-primary:hover{background-color:var(--primary-blue-dark);color:#fff}#about{background-color:var(--dark-surface);color:var(--text-light)}.about-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.about-text .section-header{text-align:left;margin:0 0 2rem}.value-propositions{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-top:3rem}.value-prop{background:#ffffff0d;border-radius:1rem;padding:1.5rem;border:1px solid rgba(255,255,255,.1);transition:all .3s ease}.value-prop:hover{background:#ffffff14;transform:translateY(-2px);border-color:#3b82f64d}.value-icon{background:linear-gradient(135deg,var(--primary-blue),#1d4ed8);color:#fff;width:32px;height:32px;border-radius:.5rem;display:grid;place-items:center;font-weight:700;flex-shrink:0;margin-bottom:1rem;box-shadow:0 4px 12px #3b82f64d}.value-content h4{font-size:1.25rem;margin-bottom:.5rem;color:var(--text-light);font-weight:700;line-height:1.3}.value-content p{color:var(--text-muted-light);font-size:.95rem;line-height:1.5}@media (max-width: 768px){.value-propositions{grid-template-columns:1fr;gap:1.5rem}}.about-image{position:relative}.team-photo{border-radius:var(--radius);overflow:hidden}.team-photo img{width:100%;height:auto;display:block;border-radius:var(--radius)}.hexagon-overlay{position:absolute;top:-20px;right:-20px;width:120px;height:120px;background-color:var(--primary-blue);opacity:.1;clip-path:polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0% 50%)}#clients{background-color:var(--light-bg);color:var(--text-dark);padding:8rem 0 6rem}.clients-carousel-wrapper{position:relative;overflow:hidden}.clients-carousel-container{position:relative}.clients-page{display:none;opacity:0;transition:opacity .5s ease-in-out}.clients-page.active{display:block;opacity:1;animation:fadeIn .5s ease-in-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.clients-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;max-width:900px;margin:0 auto;padding:1rem}.client-card{background-color:var(--light-surface);border-radius:1.5rem;padding:2rem 1.5rem;box-shadow:0 1px 4px #00000005;transition:all .4s ease;border:1px solid rgba(59,130,246,.05);text-align:center;position:relative;height:200px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center}.client-card:hover{transform:translateY(-2px);box-shadow:0 2px 8px #3b82f60f;border-color:#3b82f61a}.client-card.highlight{animation:subtleHighlight .6s ease}@keyframes subtleHighlight{0%{transform:scale(1)}50%{transform:scale(1.02);box-shadow:0 4px 12px #3b82f61a}to{transform:scale(1)}}.clients-section-logo-container{display:flex;align-items:center;justify-content:center;margin-bottom:1.2rem;height:90px}.clients-section-logo-container img{height:160px;width:160px;object-fit:contain;transition:transform .3s ease}.clients-section-logo-container img[alt="Zett Print"],.clients-section-logo-container img[alt="Koko Lie Mart"],.clients-section-logo-container img[alt=Konektifa]{height:80px;width:80px}.clients-section-logo-container img[alt=Aruna],.clients-section-logo-container img[alt=careFAST],.clients-section-logo-container img[alt="Bank Index"],.clients-section-logo-container img[alt="PO1 Network"],.clients-section-logo-container img[alt="Zett Print"],.clients-section-logo-container img[alt=Konektifa],.clients-section-logo-container img[alt="Zysku Xena"],.clients-section-logo-container img[alt="Koko Lie Mart"]{padding:1px;box-sizing:border-box;border-radius:2px}.client-card:hover .clients-section-logo-container img{transform:scale(1.03)}#clients .client-card .client-name{font-size:1rem;font-weight:600;color:var(--text-dark)!important;letter-spacing:-.01em;transition:none!important}#clients .client-card:hover .client-name{color:var(--text-dark)!important;transition:none!important}.carousel-dots{display:flex;justify-content:center;gap:.75rem;margin-top:3rem}.carousel-dot{width:12px;height:12px;border-radius:50%;background-color:#3b82f633;transition:all .3s ease;border:none;cursor:pointer}.carousel-dot:hover{background-color:#3b82f666;transform:scale(1.1)}.carousel-dot.active{background-color:var(--primary-blue);transform:scale(1.2)}@media (max-width: 768px){.clients-grid{grid-template-columns:repeat(2,1fr);gap:2rem}}@media (max-width: 480px){.clients-grid{grid-template-columns:1fr;gap:2rem;max-width:300px}}#contact-form{background:linear-gradient(135deg,var(--dark-surface) 0%,var(--dark-bg) 100%);color:var(--text-light);padding:8rem 0;position:relative}.form-container{max-width:800px;margin:0 auto;padding:0 2rem}.contact-form{background-color:var(--light-surface);border-radius:1.5rem;padding:4rem;box-shadow:0 12px 48px #00000026;border:1px solid rgba(255,255,255,.1)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.form-row .form-group{margin-bottom:0}.form-group{margin-bottom:1.5rem}.captcha-group.form-group{margin-top:.25rem;margin-bottom:.75rem}.form-label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--text-dark);font-size:.95rem}.form-input,.form-textarea{width:100%;padding:1rem;border:2px solid rgba(59,130,246,.1);border-radius:.75rem;font-size:1rem;font-family:var(--font-sans);background-color:var(--light-bg);color:var(--text-dark);transition:all .3s ease}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 3px #3b82f61a}.form-textarea{min-height:120px;resize:vertical}.form-required{color:#ef4444}.form-note{font-size:.875rem;color:var(--text-muted-dark);margin-top:.5rem;font-style:italic;text-align:center}.form-error{color:#ef4444;font-size:.875rem;margin-top:.5rem;display:none}.form-success{color:#22c55e;font-size:.875rem;margin-top:.5rem;display:none}.captcha-group{width:100%}.captcha-group .turnstile-container{display:block;width:100%}.captcha-group .cf-turnstile{display:block;width:100%!important}.captcha-verified{display:none;width:100%;padding:.6rem .9rem;background:var(--light-bg);border:1px solid rgba(59,130,246,.15);border-radius:.75rem;box-shadow:0 4px 14px #0000000f;color:var(--text-dark);align-items:center;justify-content:space-between;gap:1rem}.captcha-verified .verified-left{display:inline-flex;align-items:center;gap:.6rem}.captcha-verified .verified-check{display:inline-flex;width:24px;height:24px;border-radius:999px;background:#22c55e;color:#fff;align-items:center;justify-content:center;font-weight:700}.captcha-verified .verified-text{font-weight:600}.form-submit{width:100%;background-color:var(--primary-blue);color:#fff;padding:1rem 2rem;border:none;border-radius:.75rem;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:1rem}.form-submit:hover{background-color:var(--primary-blue-dark);transform:translateY(-2px)}.form-submit:disabled{background-color:var(--text-muted-dark);cursor:not-allowed;transform:none}.form-submit.loading{position:relative;color:transparent}.form-submit.loading:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;border:2px solid white;border-radius:50%;border-top-color:transparent;animation:spin .8s linear infinite}@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}@media (max-width: 768px){#contact-form{padding:4rem 0}.contact-form{padding:1.5rem 1rem;border-radius:1rem}.form-container{padding:0 .5rem}.form-row{grid-template-columns:1fr;gap:1.5rem}.form-label{font-size:.9rem}.form-note{text-align:left}.form-input,.form-textarea{padding:.75rem 1rem;font-size:.95rem}.captcha-group .turnstile-container{width:100%}}@media (max-width: 480px){#contact-form{padding:3rem 0}.contact-form{padding:1.25rem .75rem}.form-container{padding:0 .5rem}.form-label{font-size:.875rem}.form-input,.form-textarea{padding:.6rem .75rem;font-size:.9rem}.form-note{font-size:.8rem;text-align:left}.captcha-group .turnstile-container{width:100%}.form-submit{padding:.75rem 1.5rem;font-size:1rem}}#articles{background-color:var(--light-bg);color:var(--text-dark)}.articles-carousel{overflow-x:auto;padding-bottom:1.5rem;scrollbar-width:none;-ms-overflow-style:none}.articles-carousel::-webkit-scrollbar{display:none}.articles-track{display:grid;grid-auto-flow:column;grid-auto-columns:90%;gap:1.5rem}@media (min-width: 640px){.articles-track{grid-auto-columns:45%}}@media (min-width: 1024px){.articles-track{grid-template-columns:repeat(3,1fr);display:grid}}.article-card{background:var(--light-surface);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-md);transition:var(--transition);border:1px solid var(--border-light);display:flex;flex-direction:column}.article-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.article-image{width:100%;height:200px}.article-image img{width:100%;height:100%;object-fit:cover;display:block}.article-content{padding:1.5rem;flex-grow:1;display:flex;flex-direction:column;gap:.5rem;min-height:0}.article-meta{display:flex;align-items:center;gap:1rem;font-size:.875rem;color:var(--text-muted-dark);margin-bottom:.75rem}.article-category{color:var(--primary-blue-dark);font-weight:600;display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1}.article-title{font-size:1.125rem;line-height:1.4;padding-bottom:.5rem;color:var(--text-dark);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:normal;max-height:calc(1.4em * 3);overflow-wrap:anywhere}.article-excerpt{font-size:.95rem;line-height:1.6;color:var(--text-muted-dark);margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:normal;max-height:calc(1.6em * 3)}.article-excerpt p{display:inline;margin:0}.article-link{color:var(--primary-blue-dark);font-weight:600;text-decoration:none;margin-top:1rem}.articles-cta{text-align:center;margin-top:3rem}.skeleton{position:relative;overflow:hidden}.skeleton .skeleton-block,.skeleton .skeleton-line,.skeleton .skeleton-pill{position:relative;background:#e5e7eb;border-radius:8px}.skeleton .skeleton-block{width:100%;height:100%}.skeleton .skeleton-line{display:inline-block;height:12px;border-radius:6px}.skeleton .skeleton-pill{display:inline-block;height:20px;border-radius:999px}.skeleton .w-20{width:5rem}.skeleton .w-24{width:6rem}.skeleton .w-40{width:10rem}.skeleton .w-64{width:16rem}.skeleton:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff0,#fff9,#fff0);transform:translate(-100%);animation:shimmer 1.4s infinite}@keyframes shimmer{to{transform:translate(100%)}}#contact{background:linear-gradient(135deg,var(--dark-bg) 0%,#1a1a2e 100%);position:relative;overflow:hidden}#contact:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 80%,rgba(59,130,246,.1) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(139,92,246,.1) 0%,transparent 50%);pointer-events:none}.cta-content{display:grid;grid-template-columns:1fr 1.2fr;gap:4rem;align-items:center;color:var(--text-light);position:relative}.cta-content:before{content:"";position:absolute;top:-50px;right:-50px;width:100px;height:100px;background:radial-gradient(circle,rgba(59,130,246,.1) 0%,transparent 70%);border-radius:50%;animation:float 6s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.cta-title{font-size:2.25rem;font-weight:800;line-height:1.2;margin-bottom:1rem}.cta-description{font-size:1.125rem;color:var(--text-muted-light);margin-bottom:2rem;max-width:500px}.btn-whatsapp{display:inline-flex;align-items:center;gap:.75rem;padding:1rem 2rem;font-size:1.125rem;font-weight:600;background-color:#25d366;color:#fff;border-radius:var(--radius);text-decoration:none;text-shadow:0 1px 2px rgba(0,0,0,.3);box-shadow:0 4px 12px #25d3664d}.btn-whatsapp:hover{background-color:#128c7e;transform:translateY(-2px)}.dashboard-preview{background:linear-gradient(145deg,#ffffff1a,#ffffff0d);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:1.5rem;padding:1.5rem;box-shadow:0 20px 40px #0000004d,0 8px 16px #0003,inset 0 1px #ffffff1a;transform:perspective(1000px) rotateX(5deg) rotateY(-5deg);transition:all .4s ease;position:relative;overflow:hidden}.dashboard-preview:hover{transform:perspective(1000px) rotateX(0) rotateY(0) scale(1.02);box-shadow:0 25px 50px #0006,0 12px 24px #0000004d,0 0 40px #3b82f64d}.dashboard-preview: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 .6s ease}.dashboard-preview:hover:before{left:100%}.dashboard-preview img{width:100%;height:auto;border-radius:.75rem;box-shadow:0 4px 12px #0003;transition:transform .3s ease}.dashboard-preview:hover img{transform:scale(1.01)}.footer{background-color:#1a1a1a;color:var(--text-muted-light);padding:4rem 0 2rem;border-top:1px solid #333}.footer-main{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem}.footer-brand .nav-brand{color:#fff}.footer-brand p{margin-top:1rem;max-width:280px;line-height:1.6;font-size:.9rem;color:#999}.footer-brand .company-description{margin-top:.75rem;font-size:.85rem;color:#777;line-height:1.5}.footer-contact h4,.footer-links h4,.footer-address h4{font-size:1rem;color:#fff;margin-bottom:1.25rem;font-weight:600}.contact-item{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.25rem}.contact-item svg{color:#999;margin-top:.125rem;flex-shrink:0}.contact-details{line-height:1.5}.contact-details div{font-size:.95rem;color:var(--text-muted-light)}.contact-item a{color:var(--text-muted-light);text-decoration:none;transition:var(--transition);font-size:.95rem}.contact-item a:hover{color:#fff}.contact-list{display:flex;flex-direction:column;gap:.75rem}.contact-line{font-size:.9rem;line-height:1.5}.contact-line span{color:#999;margin-right:.5rem}.contact-line a{color:var(--text-muted-light);text-decoration:none;transition:color .3s ease}.contact-line a:hover{color:#fff}.address-details{font-size:.9rem;line-height:1.6}.address-location{margin-bottom:.5rem}.address-location strong{color:#fff;font-weight:600}.address-line{color:#999;margin-bottom:.25rem}.footer-nav{display:flex;flex-direction:column;gap:.75rem}.footer-nav a{color:var(--text-muted-light);text-decoration:none;font-size:.95rem;padding:.5rem 0;border-bottom:1px solid transparent;transition:all .3s ease}.footer-nav a:hover{color:#fff}.footer-bottom{border-top:1px solid var(--border-dark);padding-top:2rem;text-align:center;font-size:.875rem}@media (max-width: 768px){.footer{padding:3rem 1rem 2rem}.footer-main{grid-template-columns:1fr;gap:2.5rem;text-align:left}.footer-brand{grid-column:1;text-align:left;margin-bottom:0}.footer-section{padding:0 1rem}}@media (max-width: 480px){.footer{padding:2.5rem 1rem 1.5rem}.footer-main{grid-template-columns:1fr;gap:2rem}.footer-section h4{font-size:.95rem;margin-bottom:1rem}.footer-nav a{font-size:.875rem}}.whatsapp-float{position:fixed;bottom:2rem;right:2rem;width:60px;height:60px;background:#25d366;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;text-decoration:none;z-index:1000;box-shadow:0 4px 12px #25d36666;transition:all .3s ease;animation:float 3s ease-in-out infinite}.whatsapp-float:hover{background:#128c7e;transform:scale(1.1);color:#fff}.whatsapp-float svg{width:28px;height:28px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}[data-anim]{opacity:0;transform:translateY(30px);transition:opacity .6s ease-out,transform .6s ease-out}[data-anim].visible{opacity:1;transform:translateY(0)}@media (max-width: 1024px){.about-content,.cta-content{grid-template-columns:1fr}.about-image{order:-1;max-width:500px;margin:0 auto}.cta-content{text-align:center}.cta-description{margin:0 auto 2rem}}@media (max-width: 768px){.section{padding:4rem 0}.portfolio-grid{grid-template-columns:1fr;gap:2rem}.nav-menu{position:fixed;top:0;right:0;width:280px;height:100%;background:var(--dark-surface);flex-direction:column;align-items:flex-start;gap:0;padding:6rem 2rem 2rem;box-shadow:var(--shadow-lg);transform:translate(100%);transition:transform var(--transition)}.nav-menu.active{transform:translate(0)}.nav-link{padding:1rem 0;width:100%}.language-toggle{margin-top:1.5rem}.nav-cta{margin-top:1.5rem;text-align:center;width:100%;display:block}.mobile-menu-toggle{display:flex;flex-direction:column;justify-content:space-around;width:24px;height:24px;background:transparent;border:none;cursor:pointer;z-index:1001}.mobile-menu-toggle span{width:24px;height:2px;background:var(--text-light);border-radius:2px;transition:all .3s;transform-origin:center}.mobile-menu-toggle.active span:nth-child(1){transform:translateY(6px) rotate(45deg)}.mobile-menu-toggle.active span:nth-child(2){opacity:0}.mobile-menu-toggle.active span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}}@media (max-width: 768px){:root{--hero-gap-base: 1.25rem}.hero-container{padding:0 1.5rem}.desktop-title{display:none}.mobile-title{display:block}.hero-actions a{white-space:normal;min-width:160px;text-align:center;line-height:1.3}}@media (max-width: 480px){:root{--hero-gap-base: 1rem}.hero-container{padding:0 1rem}}
