PageSourceSearch

https://bluepes.com/blog

html bluepes.com collected 2026-10-04 20:15:13 UTC 161,001 bytes, 29 lines download raw bytes

1<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="ie=edge"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><meta name="generator" content="Gatsby 5.13.6"/><meta name="description" content="Not sure where to start with software? BluePes breaks down complex IT topics for founders, managers, and teams ready to build and scale. New articles every week" data-gatsby-head="true"/><meta name="robots" content="follow, index" data-gatsby-head="true"/><meta name="author" content="Bluepes" data-gatsby-head="true"/><meta name="copyright" content="Copyright © 2012 - 2026 Bluepes OÜ" data-gatsby-head="true"/><meta property="og:title" content="IT Outsourcing Blog: Insights to Build &amp; Scale | BluePes" data-gatsby-head="true"/><meta property="og:description" content="Not sure where to start with software? BluePes breaks down complex IT topics for founders, managers, and teams ready to build and scale. New articles every week" data-gatsby-head="true"/><meta property="og:image" content="https://bluepes.com/static/f0b6b5f0bee736fbb665bf7c6427381f/2c5bac0790756cfbc3eddf3713843698d4520b80-1200x630.jpg" data-gatsby-head="true"/><meta property="og:image:alt" content="Blog | BluePes One-Stop IT Outsourcing Company" data-gatsby-head="true"/><meta property="og:url" content="https://bluepes.com/blog" data-gatsby-head="true"/><meta property="og:type" content="website" data-gatsby-head="true"/><meta property="og:locale" content="en_US" data-gatsby-head="true"/><meta property="og:site_name" content="Bluepes" data-gatsby-head="true"/><meta name="twitter:title" content="IT Outsourcing Blog: Insights to Build &amp; Scale | BluePes" data-gatsby-head="true"/><meta name="twitter:description" content="Not sure where to start with software? BluePes breaks down complex IT topics for founders, managers, and teams ready to build and scale. New articles every week" data-gatsby-head="true"/><meta name="twitter:image" content="https://bluepes.com/static/f0b6b5f0bee736fbb665bf7c6427381f/2c5bac0790756cfbc3eddf3713843698d4520b80-1200x630.jpg" data-gatsby-head="true"/><meta name="twitter:card" content="summary_large_image" data-gatsby-head="true"/><style data-href="/styles.39966f7a9c0295483fc7.css" data-identity="gatsby-global-css">/*
2! tailwindcss v3.4.4 | MIT License | https://tailwindcss.com
3*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Host Grotesk,sans-serif;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}
3[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}h1,h2,h3,h4,h5,h6,p{white-space:pre-line}h1,h2,h3,h4,h5,h6{--tw-text-opacity:1;color:rgb(40 41 42/var(--tw-text-opacity))}h1{font-size:3rem;font-weight:700;letter-spacing:-.01em;line-height:3rem}@media (min-width:768px){h1{font-size:4rem;font-weight:700;letter-spacing:-.01em;line-height:4rem}}h2{font-size:2rem;font-weight:500;letter-spacing:-.01em;line-height:2rem}@media (min-width:768px){h2{font-size:2.5rem;font-weight:500;letter-spacing:-.01em;line-height:2.5rem}}h3{font-size:1.5rem;font-weight:400;line-height:2rem}@media (min-width:768px){h3{font-size:2rem;font-weight:400;line-height:2.5rem}}h4{font-size:1.25rem;font-weight:400;line-height:1.75rem}@media (min-width:768px){h4{font-size:1.5rem;font-weight:400;line-height:2rem}}h5{font-size:1rem;font-weight:400;line-height:1.5rem}@media (min-width:768px){h5{font-size:1.25rem;font-weight:400;line-height:1.75rem}}h6{font-size:1rem;font-weight:400;line-height:1.5rem}@media (min-width:768px){h6{font-size:1.25rem;font-weight:400;line-height:1.75rem}}p{font-size:.9375rem;font-weight:300;letter-spacing:-.005em;line-height:1.5rem}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.text-h1{font-size:3rem;font-weight:700;letter-spacing:-.01em;line-height:3rem}@media (min-width:768px){.text-h1{font-size:4rem;font-weight:700;letter-spacing:-.01em;line-height:4rem}}.text-h2{font-size:2rem;font-weight:500;letter-spacing:-.01em;line-height:2rem}@media (min-width:768px){.text-h2{font-size:2.5rem;font-weight:500;letter-spacing:-.01em;line-height:2.5rem}}.text-h3{font-size:1.5rem;font-weight:400;line-height:2rem}@media (min-width:768px){.text-h3{font-size:2rem;font-weight:400;line-height:2.5rem}}.text-h4{font-size:1.25rem;font-weight:400;line-height:1.75rem}@media (min-width:768px){.text-h4{font-size:1.5rem;font-weight:400;line-height:2rem}}.text-h5{font-size:1rem;font-weight:400;line-height:1.5rem}@media (min-width:768px){.text-h5{font-size:1.25rem;font-weight:400;line-height:1.75rem}}.landing-home-header__title-wrapper{max-width:-moz-fit-content;max-width:fit-content}@media (min-width:768px){.landing-home-header__title-wrapper{text-align:end}}@media (min-width:1024px){.landing-home-header__title-wrapper{margin-top:1rem}}.landing-home-header__title-wrapper>h1{line-height:3rem}@media (min-width:768px){.landing-home-header__title-wrapper>h1{line-height:3.5rem}}.landing-home-header__title-wrapper>h1>span{display:block}.landing-home-header__title-wrapper>h1>span:first-child{--tw-text-opacity:1;color:rgb(38 38 38/var(--tw-text-opacity));font-size:3.5rem;font-weight:700}@media (min-width:768px){.landing-home-header__title-wrapper>h1>span:first-child{font-size:4rem}}.landing-home-header__title-wrapper>h1>span:last-child{--tw-text-opacity:1;color:rgb(82 82 82/var(--tw-text-opacity));font-size:2.5rem}@media (min-width:768px){.landing-home-header__title-wrapper>h1>span:last-child{font-size:3rem}}.block-content{white-space:pre-line;h1,h2{margin-bottom:1.75rem;margin-top:3.5rem}@media (min-width:768px){h1,h2{margin-bottom:1.5rem;margin-top:3rem}}h3{font-size:1.25rem;line-height:1.75rem;margin-bottom:1.5rem;margin-top:2.5rem}@media (min-width:768px){h3{margin-bottom:1.25rem;margin-top:2rem}}h4{font-size:1.125rem;font-weight:500;line-height:1.75rem;margin-bottom:1.25rem;margin-top:2rem}@media (min-width:768px){h4{margin-bottom:1rem;margin-top:1.25rem}}h5{font-size:1rem;font-weight:500;line-height:1.5rem;margin-bottom:1rem;margin-top:1.5rem}@media (min-width:768px){h5{margin-bottom:.75rem;margin-top:1rem}}blockquote{--tw-bg-opacity:1;--tw-text-opacity:1;
3background-color:rgb(242 243 247/var(--tw-bg-opacity));color:rgb(40 41 42/var(--tw-text-opacity));font-size:1rem;font-weight:400;line-height:1.5rem;margin-bottom:.5rem;margin-top:.5rem;padding-bottom:1.5rem;padding-left:1rem;padding-right:1rem;padding-top:1.5rem}@media (min-width:1024px){blockquote{margin-bottom:1rem;margin-top:1rem;padding-bottom:2rem;padding-left:1.5rem;padding-right:1.5rem;padding-top:2rem}}ol,ul{margin-bottom:1rem;margin-top:1rem}ul>li{margin-left:32px;position:relative}ul>li:before{background-color:#0000c7;content:"";display:inline-block;left:-30px;max-height:10px;max-width:10px;min-height:10px;min-width:10px;position:absolute;top:7px;transform:rotate(45deg)}ul>li{font-size:.9375rem;font-weight:300;letter-spacing:-.005em;line-height:1.5rem;margin-bottom:.5rem}ul>li:last-child{margin-bottom:0}ol>li{margin-left:16px;position:relative}ol>li::marker{color:#0000c7;font-weight:700}ol>li{font-size:.9375rem;font-weight:300;letter-spacing:-.005em;line-height:1.5rem;list-style-type:decimal;margin-bottom:.5rem}ol>li:last-child{margin-bottom:0}a{color:inherit;text-decoration-line:underline}}.block-content.block-content__seo-text{h1,h2,h3,h4,h5,h6{font-size:1.25rem;font-weight:400;line-height:1.75rem}@media (min-width:768px){h1,h2,h3,h4,h5,h6{font-size:1.5rem;font-weight:400;line-height:2rem}}h1,h2,h3,h4,h5,h6{--tw-text-opacity:1;color:rgb(40 41 42/var(--tw-text-opacity));margin-bottom:1.75rem;margin-top:0}@media (min-width:1024px){h1,h2,h3,h4,h5,h6{margin-bottom:1.5rem}}}.block-content.block-content__landing-home-header{p{font-size:1.125rem!important;font-weight:300!important;line-height:1.5rem!important}@media (min-width:768px){p{font-weight:400!important}}strong{font-weight:400!important}@media (min-width:768px){strong{font-weight:700!important}}}.diamond-marker{margin-left:32px;position:relative}.diamond-marker:before{background-color:#0000c7;content:"";display:inline-block;left:-30px;max-height:10px;max-width:10px;min-height:10px;min-width:10px;position:absolute;top:7px;transform:rotate(45deg)}.gray-diamond-marker{background-color:#d6d7e6;height:8px;transform:rotate(45deg);width:8px}.round-marker{margin-left:18px;position:relative}.round-marker:before{background-color:#0000c7;border-radius:100%;content:"";display:inline-block;left:-17px;max-height:6px;max-width:6px;min-height:6px;min-width:6px;position:absolute;top:9px;transition:all;transition-duration:.2s}.white-round-marker{margin-left:18px;position:relative}.white-round-marker:before{background-color:#fff;border-radius:100%;content:"";display:inline-block;left:-17px;margin-right:.75rem;max-height:6px;max-width:6px;min-height:6px;min-width:6px;position:absolute;top:9px;transition:all;transition-duration:.2s}.hs-0{background-image:url(data:image/webp;base64,UklGRpgEAABXRUJQVlA4IIwEAADwIwCdASpgBhAAPpFInEwlpCYiIpgJiMASCWVuLl1hq6uv4/8dFCAbzNjM0sF5B0VAwz/TRjX9+Q4HXS5oIYL8ENcq3tVWBJaqbaDnYWhU2BRUgBBx4UhnxpxLswVEXDr460nm/b05o/wI14/wwQ8uQKVRY2sRhzvK6duzL+DRbLpujB21EkCwnvAaWsW9tbWkXqdtAnnsP4F995LtkIzAjB3cFhtxEsYBljRbrgllkDTVo5MDHz7MUtny9dHyUtYUbvKfkwKdbfX7GTlEt44vlutC0LD+dx0sXNHVLNSWDf91QH8jBixhmU+4sIHHOHYi/Jf6diL8l/JxgDUFwStoQQOwjkek328jpXRFd2of3zMDGRlVcCxsnKZsBa8TpSpNzUhctFsKAAD+7ZzIW62FqmkXOqDe5RrP/5Z9RT+7PSxlr5hgGhp7iuzGPEG1EZl9N9UygdY2ZLUhePi0ea1ugA6Xmje9++NRA+RgghuK+hbI7unYiJdlnwlK1TDR3/bKdHW3FN0HGoV/e5u3xORjSuY+dFEo/38+aHdk38SV1rWI+yOXfEBs8ko9BaMc698TXPJKM4POp0h5mgWOgoQApU7cSJMdcSim4dtfEmJAarkb+/oDE4OaPy+bxtFVfgX0KMyEeYeghdlmSJe64XW4RHT0LxdTyefG7JpRIlSVAK8GQx0Y7Ds1wPmHO7FAsTKREnknS7stbB2BBBgcwIsqgsq91aPZsckk/dzuveHdpxWkVQM6z5gFT9uBhYNhrBg/48YCCUzJSteQDGkEl4zdTiV4wprKHuASpdXO18LdMg1c5kxfC7+hAR3o8mX4/ICbDaKAyMTw3aRKozlzzqVx/O5YKCcF703bIAuQBXkTsOVMeaoUdYBs71xv+TgdBsdeFhaASAk1NmxK+qya0GgRAwJKswP0+oh12VXiKfxp2H0wq0K+u1GTx/4txr0fpvYDwySytsnQcbmfHBmuiCDSGVFxSQp+E/illckwYBoYwd9G6FG9mMkrCq+rbY3IKlxLtPYGwerz6QdX47YklWQHySEPT4GzgYUaBHOR/PUX7ZuGNvlEkS8a2aH3B5nuYG0W9w7T9sW+xWHGKr4tawHxzHCAXYpCuRm/Sw4RHuJemGLIzmArMewkZtfBFnpk8pyWpvBa3MC/sYsIh74oOkoOa+sAoLpfSgjiUzNSbe3/3u8OTP1bk7m/4GbShnyHK2mZudlO0PNhj6pQjn1tgOaxhngekL5tVNiBgTriyjTBxL+o33O9e2qmkvS5fzLRdgsHmjFHTDQEjizfk0NvkbOaaSBjUc/g4Z3
3EpAMLH+frp9e1RA7oP++m0beyvAW/QAVtJJrNkhTRMc5XX18jqD2DyacGJl6juTcC42+xUjZ/fodQnsLHsMPleIY+BetbHeN5qIJUwPE5avR/QmzWndcuxY/MowYhkSBHwaZfmJS5xXIKWgijhoVwfPfFz+3PJF7y1ya4n3jp5+9eub9U7RjT3qYTXYQO8jfVE5MDPGdVk92ccdGpZeppIhSrMmluIUFie89ZSUorGCIAAAA=)}.hs-0,.hs-1{background-position:50%;background-size:cover;display:inline-block;height:.5rem;width:100%}.hs-1{background-image:url(data:image/webp;base64,UklGRvICAABXRUJQVlA4IOYCAACQFwCdASpgBhAAPpFInkulpKKiozZpILASCWdu3VxfAXQrhowKSAQ6CXeW8Znv+mbnr/5kOmHy2a7PXJRf54w7OSOggX4LDGLzgF8jYv8ybiCFI/iEpnALaH3OlU88lSIVlasdFPTSROEHoqnGoWTAaMDZRsZo5kfneL6uDTsKQbZemj7L+OAsxln9XQjhowJ0YE6MCdGBOi9IVX+STWSb4Ul5bWqYmvCkcuYQYti2CeKYqhgIj1Bz6g58Ax5CxJFJni6GAAD+9FHn/64D//lof/84D+WLecVQXjMgU2KzDHhtkpRfxoUfGXFJt/9pT4s35T2i39P5EQCCMnozXUA46ZgqS/JyQStoh+fHKK45RHPh++eP1xVTKA/U//ZMt5HI7AnvHYpdunvOQJFWtHTpbtqjfBX1Ky9ImCvU5EHe9OyPaAs42fyGzkgWMCecqZW5hZUiLbz9Po4TW9iAkni2iB6RVxLlVPfA2Qg9vi9GItITP4EO58YHFCZi08dHn/d3fX1+wj2//3CxazlS0ItHoCp98HbtDz049OnD/L7LrQfSMXjNPUcYedUovjXQ3K5T/F9OggZn/oYlM9UTsgSsxjjd2zqH8r+Id/4h8z8XCpTVLWO4puoxniBpGbW0II8GGSu15U9+BDbAWWJhLaxbDHHjK5GU7O0TY0C0866zxhaskrvNp3mqHfAeDm9CaGG1LiiKn1B9jUvYoAEsi/+gv09P4Cv6/TM81/PraDWf1jl2XRy/v6N69ZwDh9xDpp54EV2/OtALbvX2lBa0P5CV/IYxTAmv5riIbJMTl0w9ceVe6UEvbebsyUzKr9AyTO2gkNov3mZ64dYiKkOSMV8S+ZPeBIEK4yBK5nifurVhKVmjae2h5E7SHD4UFnn8bUIWZ4CpTng8vk4JFuFdUkEapW2DzQpVBm0hh/7nNLWeMO/PHq3QUKcUO6H8nhmTHDpkV9ZzUaqOmHsLbgAmABefAAVyAAAA)}.hs-2{background-image:url(data:image/webp;base64,UklGRhQFAABXRUJQVlA4IAgFAACwIwCdASpgBhAAPpFIm0ulpKIiozTaKLASCWdtv7akmQPNt4h2UC7igIeSjURC7QXnFv986dWvaLukRbo71zObyJi2cDWbgigV7fEe3tX3I+0QE/De6dDNcjERgcxaMaaKqwk4bkYcL8lU14uOGpZXrFx5qP8mnKhFi5GnsLAs71wlUHTrKoUZ9bxUaloPj9PMG1djpfLVFpZNHkQEdFKuLpKQ2vCJBA7u7fUyObUngToPF5NMhbqWKRJPxVJtCfV31voUE34af+fEhLeUgbdgQRKuItxe+EMZe1BWgFOTjh92UL0yoCkr/JR4p0+c62Pewr6yzl/qtalq81eCoT6c9Ftwv8FnOAUw1GdoniR9DnJ80RkM5D9DGqtferoFoXSWNtXso4AA/u6AnwAOtebdePCeV7lR9P/yU/9u/9u/GBNsJT/66t/ZQ4JASGTnHhk7SThbt0tijpqW7vGWxBDBJvEt784YLRUHFF45UUB/mUOWacz21eQGD372H+FHGbYdVadgLzFqI5PE0P+NvPYpD+hF0sfHznIwFsHvHJy09y2eDPzgKqJzbC619Lvi7a/FP9lKd3P9ukeu5rVRVBAtgoCEEcw6+0/wA6xjmHevy3HyQ+0RoNAM6ZcPGHtjAjVUjVDOQHrJKu6NGlwqMtaoG7c3+HFs6fpjZrRWZjJ4O0soWU3ESAVXeSOcra/yoI06Z2V98G4uvChSWviXRArGdTTwMWiU42ZjypoaEd1sl2Jn6hE5O0brFgMWCto6CZbWmFls7GJQCMpP6XNSCr23nL6SumJt5uVthIyloGp33beeXivsaUY7/htXAwJa8M1hXE5Bcge1aCSQRkyMljnZMszpLBrWItjULUf+GJIDvyZERDhb6+iUN/u7PNt5G0jvjjewvu/LaWZ6HMwLmDBaJEXwium9XnTbfnqKGGgaKUgy7GWauL9lJAqJtGN7ZaJ8PO3d5KZQhytrnsiZfwcNU8W7WZD+SDhlKSq6UVhgX7V+D1bpUM4eG31iXKwEM0CQEw3IJj3rDhh5o0t2l/PQzr3l5LbEyotXsEHEd1leZ+wWCMiaBvL+3xKtBJsXr74N8AEtXOk05djsdvY5vDC9vzHApkPyhP6wrH3PH04qOmyBM65cE8rstZrH8yVdIH3R0xyAXGKoVVQt5VnYyMqys/lvvKwigHs3W5NtWkDzO4wz+eeyiXjRLoQ2S1dAZRte6vn8OIi8ZWReHGRUlxO2yDqesY26e2btztsxpc8pOUCfpm8s2Dkx+J58T+L22dwVZlGU1LmN4I+Ri+1dGBQOZ8qWVwLqn5qKNmtdGXOWyTj06Ui7g5H+/r+x0P+hpJPT6fz/SmqWRcVri8kwhCZuElTrTThE0+lGOIbmRWTSoz08g/eRjBIbxNIy25lTpxYRAoSKYK2js/fqH/5Bka/LIP9zaoqxrNeB4JQbQAUxziAwMMX7uGKb3W5YH9l+soV3scGJG2sIsJ5cCYWC+Fh8X5+M0Zo798pSJTw0YMGi2vp9hfTJB3osFS9gbGkP0hIdzbgThUMmF213tGj9Y5I7COA14Qmxijo5Dsh7D+x8uArPoMVi5Mb+rwtmcm/z1+X9hu+iBwP9RzIUsdbEZzbEHY54BoB67XYH2xOBNxzzMRRD0+xplqUeXw0K2swWb443AqLc0Hg96y/4h/cYymcWDFaXLH0DP3+edcTtrWsZaE9B4Cbj+AgA)}.hs-2,.hs-3{background-position:50%;background-size:cover;display:inline-block;height:.5rem;width:100%}.hs-3{background-image:url(data:image/webp;base64,UklGRn4EAABXRUJQVlA4IHIEAAAwHACdASpgBhAAPpFImkwlpCIlIpQKeLASCWdsjT4SWOEdMwAaz5hnlpMI1y0fCOMCc+vj1tFmgMR0gNTFbJzAkNwIl3DjwLCwL1kVD7Up0Zp7J6UGG+isHrcOuxiw24uDc/oBooQA3hbJ3c7qwEq7Gw1Xa3WlROVWuupQKIMN6hwyM3E/L2DqyXO6kD+5C9hz9TX7fHjypFbPYfVL3SibRVcjbtcJxYiWdjwi8PNKKB27DIhNI2KAKcl85gtsd+AgOCF4BDiiPw95vHE2tpEjQOCz1RPC6J09TqatuBy/wo7x/adD+sSNvAAA/t0Mbf28e3J/TueGLdDtSpKL1w/ngeV4Vq1v8AQePzKgENByD7Ke66GSYHSmOsSm2Qmx/uuBcKK/WRrBYtoroTvrPu4YE4V4GO6ajbhngZfh90sUY/MYP93IwZ7K84nHL6fs6AMDNjti/X2PMpAViask3SNlyav50tNw4DvzmrTNhoCAm8VKLVD/7kL8+huq7CuUqFaYJLBAkLTs1MrThGqMQ1EEqlfF5RxuWGuMP1A2hrp33zohETIpBOSqPK/Vtgcj3eFNcV4ngcYvNTVaA6Q8qIYD9nyWcFitbdEo2u0TJXWjgbKCO0hCSMuu6ozzW/VhNkuEYFHTKCCFMfk/sflHWV7iQEvOM6RgNYBLohwPLBlQq67SyYbQubpJZDxJTA6FeFtWXOlAF78XtMYLYSyJOknZXDFOaRUz6SewCqS2jNZNIihgpgKP5JQhME5/uxnC5QYdc+zTJrOU19Fwtn5eyZMh6KTJPVLsGKbXVXzRWZtAqzdc7nvdtR0cnqJVRw+/iR0mWj/gP+OVvUEBWL9rQiHRcfU54OYqxT1wUvdYOuYOTvP2/AHofSiQeFi87sCtDpMkRM4rR+sQMT98F8PgN1aTSxghUos6f//BCcdNWEexU4jMYDzpBJ1Qok3tmIowvlrJE/D6qCi+0iDGgUhX5hMsijslWqLMXIcSZI+2wdwuo8dUf0YotzCqny4+tEj+3LN7TDt59sopNe/VDEklT/euWojstAs0vQLHSp4KWe+aKR1Q6+CRLmGcyP1EAnnuZrxCcUigwsgF0no+JabtYgGLUsn6g/r/3jAhvjE1sn+n73fmP5fa0cWnglqbPpqOen0tOPKBGBMrphrF0vMOLVXxC4XtG14BqdzQfFHkWm05IqMUlqa4HFFnMAPxKTYIT7WRJUYNn4fl0qz/TanGf5mZPVJYMCLakfl9TnCNaYvCFsJKM5nIlLwpIzTbAA1O/7wQUP2o/hp1vFaU4pmw5JVGnABybqH8gZTPjMPHi1Rhu6kuGUskxDt6mfrwHHe9eSFdzMHcsBcv2z3KSnfCWqcRTbWc9HR2qLSAguVV3h57nXbTwd0YW1ZAH5E4qL1/ZIK0mCiHjw6cihqGo7Hi4lkAxCvTbHg0lLYUnsyA9qldH3DxBTVSSQ/mDUzLE7cytJ8DOWjT6UsGK6Kycsd0W3mRFGng9bWgVHtpYC3xeRuiAAAA)}.hs-4{background-image:url(data:image/webp;base64,UklGRtgFAABXRUJQVlA4IMwFAADQLACdASpgChAAPpFIm0wlpCYiIvM5iMASCWdudF18Qws/6P8iuk1zH8QDcG447vN37QZFZLu0x81AL57q4wN+/X5yI6nAcyqL3Cq+Sh8gHEakPMXH/wLWui4W3IlIyt5Jxbu2k/tsqWIEkgCZmLqQh4AX8eeFJMqj1FttkJfilPB5Z9TaVUNXmF1qvFbQYzEvhydI93yfWQDHjr4giFEAAS+vFrbm/Cq3rzNetko/NJj31W9Dhz6D/UnDLjn7QbKvUhXvrMGRi11FAwPFeDzrxt0K7x7DmDL6Ub3bZfbqHjPkgh9m75gYi0wnqVDaPgIdR6wcKrM+FlVw4Q8UhJcsJVimQtrRJQCyXhkD8eOVrle9SRjX7BwcU8pTOvHg90mbASKDA2dLO/Rkg//f9TPaKJfEZ6YRCmMWvmhmNdT+CodUsN163cL7xsf4iZUn9I4F5gjbB/6Asqsz4WVWZ8LKrM+FlVmfCyqzPhZVZnsAAP7tnMhbraQPiIvWGw/U+1//5Z+Lqi8UFSX9RWwKSBMcKjGPEWoAnPaZ4ait+cY0hwhs/SYxTP7RUcH11IM/AgPChTRggh2LCIGG2ETG/qFy9apLUMNHf9sp0dbcU3QfahX97m7qq6tqlNykaJnlFR56tOrkYXnDlGOPHRFK1NCLTp6phdS3F48/l8D7jGxMuHMeOAQ06TcCiZWjuIwXLT0fmZFBPuseDLbB/LRE1kjAfF2cxwSKjrQa5RAO06KMXSxAl3iNns0Wl/BEVdWYtJiS3bi21+ey3JWoqo1h8Qk51o1dylT3fO2/lsVwoTQVEgEhQElW+XX2g7gnb5kjbyK7+S46qu9u0k9do19reZ8Xjhf7+L7jJdOFd9RTJyPciv3w16DTebvUUmuilO3SWatlwa/8WyeQAPoK94/IZDhugC/064X78BCZs
3QW61XWevF1+jc39mhlkdXzA+1wuGahawHJ7tkAXU9QrWiQ9REK3dAhETiZIfgZmHJf/DcZs3rMi8uhg0HlsjNGdThwW9rartxgsOk+fP9qaieNQBd3Qy3dfePLgtoOHad4sCdxScgzhxOyPSrMedN3OlF9PHeA/P7UElqMnclCqSNbC7iai+LbGttWwrSiHAnpEBAfqUCW9z1pyCSo1+KiVghqN/kuW6XBNk6n5EymL+Ae2e9dLmtAvjmK4M0sZtJ1BDsltCIVB2+mv3BRDq2jvN6QX//rO2wFDjaV7FB3nndR4RbWnFDIytVctwmYv3QW2YrqIOYIBgyuZu4XIerycHN1MxDZO1/k41HANABVVMHbNzZkT0XhFD5yLZc71dfBV8G7JduiGzjnYuPegTKXZRnee8iDWb/eNXFSLZcW14vQkJIT8ctk6hfla+ocB0FaB+0JyksbZHRfTfdiThwqq2UQk+GMnQ0n6YFK8KZTJ8hXSc7+C3k/Pudh8/aYxr2Sf3GlKQcMwzenNIpdmGMzlYQLGqnAR0H/27IWlaM7DI/sHk34IfDfoaQ60soA3e3P9+IJ09hZLz5cW6HYqHWtOkX6zxqiOFcMISV/hHTNBlNgTPMowv6HhSNjOjU+3pKD60/aygZIgLqDRgUm/EP5SKGzEsZgwxrhiDlXWaFVBDnqkP2egS2Epk5i9noqBzOONQnSqbj9HT4mNzSr9ji2PByflvlOIAtyBNW861Fi/Kiu7kZQf/8G5G9QvZ5n5C5NnZulxoH+hnd4UfJgR1L4YPzUKpJTqkoL32oWAW+eQO/L/OkooxTspg3/nJa2ghYaphRcaKn+WycGmUp9hQHoVaA/xsdS/sK4Lkaa5s3r4g3M4jtUXqFzm498fnizzGit3yNcRicn+mj0ZIbOsdgN4mihLjet8auC9lpJbyudagC5jZy7kXFrKsHeGZ54VqIZK3zQqqP8aWEANo1vJl80uR8Ges03HNMMDxhldyjkJiQzluXABDvJzUuJ+lpqSDNBpAStNzRYz5Od3IxrJyAAAAA==)}.hs-4,.hs-5{background-position:50%;background-size:cover;display:inline-block;height:.5rem;width:100%}.hs-5{background-image:url(data:image/webp;base64,UklGRpgGAABXRUJQVlA4IIwGAABwLgCdASpgChAAPpFGnEwlo6KiozYJiLASCWdt60T61KlV6fk7szVsHSa5tZwDzuvPg9KDJiPJA03t8X7SeY/yon9FXgKCxnz4jIusBjQxZgC8OlidpF96vzXeKTokPDUnxI7/42s+tjti0E5mXrqXwdI0MuLda6UFuYABNXgSCh2buCaYe3cBpLt0KraDbYCaYe05uP2ZXx2VQTaLDmTFEm9DhkDrcP72ZRkptGG5oDtkcT3RYgG9zQ1lVU+W9a0WLW62QNRlHk+r3PE5LkjB9NZOXQlm2+OycUK0sZPWbHVumTA/akRvCIYVp7Npzk4zYHCfltx06Wx3CmYWipssPedQNMvpYweJBcUGBiah/gGHermCwyiw/UY88t2Yp8e2bBMzlYj/NnGzjqq8wbXS6uBgHQQmSAcw2RHskDJuuMz11pZ1/fGoK7O2lq6tFI0bTJU82PhVS35YGHI/uWRn0MPbuCaYe3cE0sCBH92O+S6qitvqN5oBJ7QeEAD+98Mz/kp+Q/X/l/duAlhsKf+vqnDMP3Gc5Y7mPdfszUfQERdkCz0yYn2+XcM/Koji0HQr6cDEx+TzmgaXbVFXNCRWU7E1+ZQ0PRdPk+NYW6loD8+j08BgJ0QBGZJPsWPE0eVHjypuRmvO6jK+ThzE1YOyUKZ/iNyDRdHi2DlOs7UrYLYpSEVv7nOI+//8t2xvCkOYAFUGtrh2QLG/J9kIoQe3BQeRB5aKVteYhjEgy0MIjkZ6uo7bQr+JADEiHhZ6GDHOo/SZMcG5s32csjcAUMchgwDK71chXvMWjhpsHp4Pe2NDSmEFTT9F4yf0qJkc/pjJwPpjEUS+urFKXVGbmc0VkLY4qitT8XVrPalrq6K7x8kPotDM7TVwLea8gUueRZxhGKP+Gv/odLZBhv/g7sNozXtXFPQ8R9R48HmFUgbr1SuHYVnVvcZlnSgQkz+SmmQGCsB/9N/5C/vj3djaAhIjBxq7vmwt8oKe8+DFVnyFPCJ+KerE1xHjBEf+Uu4MzDq7vd2NVEjB/XCHz3VldWXyM0ZRcZ7gS4y4xf7ieHUeru2EYtisEfepuHGwKYocI41qWskfxRvUvCsdMjLd09/Lor6OzqgEGKx02Eide5XUTtyOMxThExXqOthXHnAbVagcXtvYWYp42c0DMqFo15NwFkKYofQWWG5mW/He2NYDIgHyJ6jEMGZp8gbXrGjJKo0DL5T62/GjmoTxZXzqfaAuxWny65DO+F9FHfTME85GRW11LW3vcsNDA+snWGEVVZhF2PZ3a5BM49OOIQgIjTMbsLCjRnhfm/mDDfO72NFZu3qalSYOVNFY1CBQme6tXThlEHyrx6sGken9hHxBOxz5uTNtiWI3jqerE1ogQLHS5oC1qbbNfdFsvRd9mJapEn7ni0hJXQa7/PECAa8sWfH0Zy+qa3wzdxngTwPvRsqltIbDS/zwFzgvDXth1rD5bcImzfdlf9Lp/AjAMw8kviq9rAyaBk2CE9Yg2Ysx3JbHv+lJlQnDKSPKZBPrgbeePtnirLV6y6xyXaD3NUj3g2kvYrDZ3WtMdAewgsk/8w+GOF02GWU3QchEpV8pzRK4udg/BeNTOIU2nvSsMFGCtn6wZ1f1jwRRbn/lK2QVjc9S+bTHZXBfhkXFHN5v//RGIROUYi8DT6pngtCyaENvFlNXOstcF38L+aZ8vz421kbgGWzClu2z6iQ0SF3PVWP6F9shbZjOYQX5QZggE5kjK8/EkzG58xBAZ9qGw1KvcUo+cbqFmxULaFJEmqt+qQJGIMrOPxTl+vEQ+BDoR5qUEm4vfysHZsCHJ+CtPO7qZiQWYNRNaer51lkcFaGwD17a/Evvnmr4HVRXVKQn7gg+ZCuaNY9aRJ5f9cW27n1Eol/56ilSkw7QXf10E1NyaHarXDRVOF1Wee8uURIOinTAMdhakTVHVHi6Zv2jFOUUJ0rMkaJW3rFWTutI6kufIbnY/e4kCl30vjZh4mc8CSALH805xyiMEUfXkqHAnUU5sLea2ylJkEtVlLVQ8eBepkNQnI5sfu1D+oKzcFeQAADNTfg1FRCtYj2lhHjJa4SxZQ2KV/2dOCaEEv1VDE+339pm/Jaws1AXKzHpt1J3AlgMGhmOqU51t12P9x/cW7DgeHDAbr2DH4mQscejzulNpIFURFv+PgCGmUWjuh1+/XeuIxuRVkDAs9g0IJX2WzfezE54Bm2qgEIo/uiXDuuAAA==)}.hs-6{background-image:url(data:image/webp;base64,UklGRhQFAABXRUJQVlA4IAgFAACwIwCdASpgBhAAPpFIm0ulpKIiozTaKLASCWdtv7akmQPNt4h2UC7igIeSjURC7QXnFv986dWvaLukRbo71zObyJi2cDWbgigV7fEe3tX3I+0QE/De6dDNcjERgcxaMaaKqwk4bkYcL8lU14uOGpZXrFx5qP8mnKhFi5GnsLAs71wlUHTrKoUZ9bxUaloPj9PMG1djpfLVFpZNHkQEdFKuLpKQ2vCJBA7u7fUyObUngToPF5NMhbqWKRJPxVJtCfV31voUE34af+fEhLeUgbdgQRKuItxe+EMZe1BWgFOTjh92UL0yoCkr/JR4p0+c62Pewr6yzl/qtalq81eCoT6c9Ftwv8FnOAUw1GdoniR9DnJ80RkM5D9DGqtferoFoXSWNtXso4AA/u6AnwAOtebdePCeV7lR9P/yU/9u/9u/GBNsJT/66t/ZQ4JASGTnHhk7SThbt0tijpqW7vGWxBDBJvEt784YLRUHFF45UUB/mUOWacz21eQGD372H+FHGbYdVadgLzFqI5PE0P+NvPYpD+hF0sfHznIwFsHvHJy09y2eDPzgKqJzbC619Lvi7a/FP9lKd3P9ukeu5rVRVBAtgoCEEcw6+0/wA6xjmHevy3HyQ+0RoNAM6ZcPGHtjAjVUjVDOQHrJKu6NGlwqMtaoG7c3+HFs6fpj
3ZrRWZjJ4O0soWU3ESAVXeSOcra/yoI06Z2V98G4uvChSWviXRArGdTTwMWiU42ZjypoaEd1sl2Jn6hE5O0brFgMWCto6CZbWmFls7GJQCMpP6XNSCr23nL6SumJt5uVthIyloGp33beeXivsaUY7/htXAwJa8M1hXE5Bcge1aCSQRkyMljnZMszpLBrWItjULUf+GJIDvyZERDhb6+iUN/u7PNt5G0jvjjewvu/LaWZ6HMwLmDBaJEXwium9XnTbfnqKGGgaKUgy7GWauL9lJAqJtGN7ZaJ8PO3d5KZQhytrnsiZfwcNU8W7WZD+SDhlKSq6UVhgX7V+D1bpUM4eG31iXKwEM0CQEw3IJj3rDhh5o0t2l/PQzr3l5LbEyotXsEHEd1leZ+wWCMiaBvL+3xKtBJsXr74N8AEtXOk05djsdvY5vDC9vzHApkPyhP6wrH3PH04qOmyBM65cE8rstZrH8yVdIH3R0xyAXGKoVVQt5VnYyMqys/lvvKwigHs3W5NtWkDzO4wz+eeyiXjRLoQ2S1dAZRte6vn8OIi8ZWReHGRUlxO2yDqesY26e2btztsxpc8pOUCfpm8s2Dkx+J58T+L22dwVZlGU1LmN4I+Ri+1dGBQOZ8qWVwLqn5qKNmtdGXOWyTj06Ui7g5H+/r+x0P+hpJPT6fz/SmqWRcVri8kwhCZuElTrTThE0+lGOIbmRWTSoz08g/eRjBIbxNIy25lTpxYRAoSKYK2js/fqH/5Bka/LIP9zaoqxrNeB4JQbQAUxziAwMMX7uGKb3W5YH9l+soV3scGJG2sIsJ5cCYWC+Fh8X5+M0Zo798pSJTw0YMGi2vp9hfTJB3osFS9gbGkP0hIdzbgThUMmF213tGj9Y5I7COA14Qmxijo5Dsh7D+x8uArPoMVi5Mb+rwtmcm/z1+X9hu+iBwP9RzIUsdbEZzbEHY54BoB67XYH2xOBNxzzMRRD0+xplqUeXw0K2swWb443AqLc0Hg96y/4h/cYymcWDFaXLH0DP3+edcTtrWsZaE9B4Cbj+AgA)}.hs-6,.hs-7{background-position:50%;background-size:cover;display:inline-block;height:.5rem;width:100%}.hs-7{background-image:url(data:image/webp;base64,UklGRvICAABXRUJQVlA4IOYCAACQFwCdASpgBhAAPpFInkulpKKiozZpILASCWdu3VxfAXQrhowKSAQ6CXeW8Znv+mbnr/5kOmHy2a7PXJRf54w7OSOggX4LDGLzgF8jYv8ybiCFI/iEpnALaH3OlU88lSIVlasdFPTSROEHoqnGoWTAaMDZRsZo5kfneL6uDTsKQbZemj7L+OAsxln9XQjhowJ0YE6MCdGBOi9IVX+STWSb4Ul5bWqYmvCkcuYQYti2CeKYqhgIj1Bz6g58Ax5CxJFJni6GAAD+9FHn/64D//lof/84D+WLecVQXjMgU2KzDHhtkpRfxoUfGXFJt/9pT4s35T2i39P5EQCCMnozXUA46ZgqS/JyQStoh+fHKK45RHPh++eP1xVTKA/U//ZMt5HI7AnvHYpdunvOQJFWtHTpbtqjfBX1Ky9ImCvU5EHe9OyPaAs42fyGzkgWMCecqZW5hZUiLbz9Po4TW9iAkni2iB6RVxLlVPfA2Qg9vi9GItITP4EO58YHFCZi08dHn/d3fX1+wj2//3CxazlS0ItHoCp98HbtDz049OnD/L7LrQfSMXjNPUcYedUovjXQ3K5T/F9OggZn/oYlM9UTsgSsxjjd2zqH8r+Id/4h8z8XCpTVLWO4puoxniBpGbW0II8GGSu15U9+BDbAWWJhLaxbDHHjK5GU7O0TY0C0866zxhaskrvNp3mqHfAeDm9CaGG1LiiKn1B9jUvYoAEsi/+gv09P4Cv6/TM81/PraDWf1jl2XRy/v6N69ZwDh9xDpp54EV2/OtALbvX2lBa0P5CV/IYxTAmv5riIbJMTl0w9ceVe6UEvbebsyUzKr9AyTO2gkNov3mZ64dYiKkOSMV8S+ZPeBIEK4yBK5nifurVhKVmjae2h5E7SHD4UFnn8bUIWZ4CpTng8vk4JFuFdUkEapW2DzQpVBm0hh/7nNLWeMO/PHq3QUKcUO6H8nhmTHDpkV9ZzUaqOmHsLbgAmABefAAVyAAAA)}.hs-8{background-image:url(data:image/webp;base64,UklGRpgEAABXRUJQVlA4IIwEAADwIwCdASpgBhAAPpFInEwlpCYiIpgJiMASCWVuLl1hq6uv4/8dFCAbzNjM0sF5B0VAwz/TRjX9+Q4HXS5oIYL8ENcq3tVWBJaqbaDnYWhU2BRUgBBx4UhnxpxLswVEXDr460nm/b05o/wI14/wwQ8uQKVRY2sRhzvK6duzL+DRbLpujB21EkCwnvAaWsW9tbWkXqdtAnnsP4F995LtkIzAjB3cFhtxEsYBljRbrgllkDTVo5MDHz7MUtny9dHyUtYUbvKfkwKdbfX7GTlEt44vlutC0LD+dx0sXNHVLNSWDf91QH8jBixhmU+4sIHHOHYi/Jf6diL8l/JxgDUFwStoQQOwjkek328jpXRFd2of3zMDGRlVcCxsnKZsBa8TpSpNzUhctFsKAAD+7ZzIW62FqmkXOqDe5RrP/5Z9RT+7PSxlr5hgGhp7iuzGPEG1EZl9N9UygdY2ZLUhePi0ea1ugA6Xmje9++NRA+RgghuK+hbI7unYiJdlnwlK1TDR3/bKdHW3FN0HGoV/e5u3xORjSuY+dFEo/38+aHdk38SV1rWI+yOXfEBs8ko9BaMc698TXPJKM4POp0h5mgWOgoQApU7cSJMdcSim4dtfEmJAarkb+/oDE4OaPy+bxtFVfgX0KMyEeYeghdlmSJe64XW4RHT0LxdTyefG7JpRIlSVAK8GQx0Y7Ds1wPmHO7FAsTKREnknS7stbB2BBBgcwIsqgsq91aPZsckk/dzuveHdpxWkVQM6z5gFT9uBhYNhrBg/48YCCUzJSteQDGkEl4zdTiV4wprKHuASpdXO18LdMg1c5kxfC7+hAR3o8mX4/ICbDaKAyMTw3aRKozlzzqVx/O5YKCcF703bIAuQBXkTsOVMeaoUdYBs71xv+TgdBsdeFhaASAk1NmxK+qya0GgRAwJKswP0+oh12VXiKfxp2H0wq0K+u1GTx/4txr0fpvYDwySytsnQcbmfHBmuiCDSGVFxSQp+E/illckwYBoYwd9G6FG9mMkrCq+rbY3IKlxLtPYGwerz6QdX47YklWQHySEPT4GzgYUaBHOR/PUX7ZuGNvlEkS8a2aH3B5nuYG0W9w7T9sW+xWHGKr4tawHxzHCAXYpCuRm/Sw4RHuJemGLIzmArMewkZtfBFnpk8pyWpvBa3MC/sYsIh74oOkoOa+sAoLpfSgjiUzNSbe3/3u8OTP1bk7m/4GbShnyHK2mZudlO0PNhj6pQjn1tgOaxhngekL5tVNiBgTriyjTBxL+o33O9e2qmkvS5fzLRdgsHmjFHTDQEjizfk0NvkbOaaSBjUc/g4Z3EpAMLH+frp9e1RA7oP++m0beyvAW/QAVtJJrNkhTRMc5XX18jqD2DyacGJl6juTcC42+xUjZ/fodQnsLHsMPleIY+BetbHeN5qIJUwPE5avR/QmzWndcuxY/MowYhkSBHwaZfmJS5xXIKWgijhoVwfPfFz+3PJF7y1ya4n3jp5+9eub9U7RjT3qYTXYQO8jfVE5MDPGdVk92ccdGpZeppIhSrMmluIUFie89ZSUorGCIAAAA=);background-position:50%;background-size:cover;display:inline-block;height:.5rem;width:100%}.hs-projects:before{background-image:url(data:image/webp;base64,UklGRooCAABXRUJQVlA4IH4CAADwEACdASowAwgAPpFInEolpKKhp5gJOLASCWVtt2RlM2yr2oHqch0VIAOVmU6NkKaGO4F24OdFg4Lfm+KVTUASIsX999l/p67EO2KdToaf5mW4ze7nvJKv2S030jxKp/Vz1+/joR3PdQxW0uFY9+hre/rVyjjazJp77zfl9B+clSOmtBbPdFqztDJwhR/GEIAA/uvWUGURDMt/zyH/zr/+A//EhvAJpXwpRIF2HkolEQoGInSVQIwTQ96JyIVA469AFESP3mBzVrncbCWdsMHd11uhr4tYKdPDx054NIQlwzFTmsVJtflpBmsVWlFa3u2SUAH0JWmEV0JqCqakPhyncV89tfxcCVaUcW7a4tAdjv8+o2zW+Y6OOhvM4wUGBTbSzTWoN6kmdFtTE6SmczuLgU2mSY+htIFfmFUFNnolSi+SeBpGG19S62VQmhnnGaIBhuOJuAljFrpgoAWKBr+7IgRqSgLinOWayyCCbJW/IfalkuX8wi8J8YfViLT6moR8vRI9dbc5rrAo9d/PoiV0StjJNmq3wP8YYt4lOvUNs16VHnaeVM0/z5G/Ka/DLySx/XRHEQls4yu3uTqP3b1XAfWyXCpkjeK01h1Hv1gR+DeyFvj999KOmPvFPUd+zDKHJXQCbwWlRkMd1ObE0XNsTHFhqZWU3vMC2micHmqaYz/jm9d1AQwUBGrVd562ZfgiY3fAxv688v5PPwOEc3jAxVeaz/kTLxFyZMbo7QhfEuGfCWIB545U8EVm53OG4B52hOgZrHtV0lFkS9/H1ik6QyFBck992Sp/vQrj1/QPV61xGc6HUKJDraa4CGyqS1OAngXHsD2Oxe0OEI58AA==)}.hs-general-blog:before,.hs-projects:before{background-position:50%;background-size:cover;content:"";display:inline-block;height:.5rem;width:100%}.hs-general-blog:before{background-image:url(data:image/webp;base64,UklGRhYEAABXRUJQVlA4IAoEAABwGACdASowBQgAPpFGnEslo6KhpLgJWLASCWVs7ZB37fVPx56wTavPfNbX5AWQpzXz3ygdVtCPZ3IxUhYMD7uAvuoYaNL/E6CYP6+bn2dKm5Ec7/fhMOthmE5c//E0qUuyV5TS6ZDPXHKn7rEwSuYAYV8Ds+J0OQeoClGyAlQXewxWmyKcJrqdl7dv/cqK7yoQ7Eil03KyC4N46fAb0Vd2OVN95tU+YlzkCgw/rvYgVyg6g+HUSjUx6r/1o4FKoZB/7rcSQusQeLc9hYAA/vQg/6//1wHrg9Df2mEfPmQr4AyVa+Oc2jUDTDVsf7YQaFVYcb/jTTPfBEGNv84lEUMX2aT28j05wNRcsuBr3mHENTPOOKXMukk6XERw2CIsfRUEtF+h4BNsS4zcygfqrQYVFyPC1mrPQOhkZi24GrfLu3YSVbpYDBzEQAP1JU6jyjsQRM0LVULfL4CvAwes1tT5O/lbk2hvujYHM4c5L6uEnMWhU5DTERNBQjonbIZLedgQ/ODAOHnwkQ9c8Hsz/0P9wEx9PS3kcRoZTWON9YdyitJ0ZznbrnQBt1Kq0KOIGM/gLxgV4A2e6wMNwMAf5JqKJP/+O316uez4OZp6Ns3/47J/g3+TvonQm9PiKZcFOxc/LRS6V3VHTZsytmOE7fRebhXNnlIdwcVOvyecWfEnNFx73W3sdr/vSH3Ri/RGjg42J1H/FfZKfxWnqX7mQ18Ls4XdI1yhTMvvF2oPwo8ni11DkKZpxNpFxfUM9GNZt94ZC2hlq1WZCRnrEso15uqZyMfgqo/J01PE6MxeNNnJf3pW1cZsvithpzT/Q11XO8N5EgNX7tGXOYaNqye2/T2+sP0PqWJjHwc7SDmv2Y8ZVB4NKsrD3EhzbO/a2Oo5mWrfycwBFDiQPlkjEYpblNHBtzZ9+b5ZuofaHnVFXdsqOcDTBtqyzFD1Fj0jV7O9pRkSq0/nddZ3qJDkrFSmrE7FGeslbuB7Asnz7gzIgaKBSFyfsbuY7978uSHKqhH2O/y43ClIC13Mk6nDr2r6SpwTGt09HgLykSMLZoepqIgmhzwHhvQBxKKJkmtQf8ydPoSnszY0utfYcxQhY9+ypR4qztNWyqGz1rd+WQ3fguFibfACMm4tClIJUjgdEhrDK9RQL50jey44WthlvEGYrLHhU/Zs/yb8jH8fgzlcIklXbJPoSoMl77I9R/fBKPmpBcOKBLOabjkTvI+3764vre378VH4xx71tF2vQxjXJiJs0x82
3nRHFCjC3fzSc4dBEwXSnnV41yXT+Zyxz2kbgWhrHLEQcAAAABThHuVL1rrZR5YwnXnpO9iJYstuD3sIkRKOjnOBc5XymxUhhYVn1i72HxVGqGR3lzHgAAA==)}.blog-post-active-scroll-link{--tw-text-opacity:1!important;color:rgb(0 0 199/var(--tw-text-opacity))!important;font-weight:500!important;padding-bottom:3.5rem;padding-top:3.5rem;position:relative}.blog-post-active-scroll-link:after,.blog-post-active-scroll-link:before{background-color:#d6d7e6;content:"";height:44px;left:0;position:absolute;width:.5px}.blog-post-active-scroll-link:before{top:0}.blog-post-active-scroll-link:after{bottom:0}.purple-diamond-icon-background{display:block;margin-left:12px;position:relative;@media (min-width:1024px){margin-left:28px}}.purple-diamond-icon-background:after{background-color:#ccf;content:"";height:30px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%) rotate(45deg);width:30px;z-index:0;@media (min-width:1024px){height:56px;width:56px}}.purple-diamond-icon-background>*{position:relative;z-index:1}.blog-post-image{width:100%}@media (max-width:768px){.blog-post-image{aspect-ratio:342/228}}::picker(select),select{-webkit-appearance:base-select;-moz-appearance:base-select;appearance:base-select}::picker(select){border-radius:0;top:calc(anchor(bottom) + 3px)}select{border-radius:0}select::picker-icon{color:#28292a;transition:rotate .4s}select:open::picker-icon{rotate:180deg}select:has(option[value=""]:checked){color:#84869f}option{border-radius:0;padding:8px 12px 8px 28px;position:relative}option:enabled::checkmark{background-color:#0000c7;border-radius:50%;content:"";height:10px;left:8px;position:absolute;top:50%;translate:0 -50%;width:10px}option:disabled::checkmark{display:none}option:not(:disabled):hover{--tw-bg-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity))}option:not(:disabled):checked{--tw-bg-opacity:1;background-color:rgb(228 228 231/var(--tw-bg-opacity))}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.bottom-0{bottom:0}.left-0{left:0}.left-2\/4{left:50%}.left-\[-16px\]{left:-16px}.left-\[-34px\]{left:-34px}.right-0{right:0}.right-\[23px\]{right:23px}.top-0{top:0}.top-10{top:2.5rem}.top-16{top:4rem}.top-2\/4{top:50%}.top-\[170px\]{top:170px}.top-\[58px\]{top:58px}.-z-10{z-index:-10}.z-0{z-index:0}.z-40{z-index:40}.z-50{z-index:50}.z-\[100\]{z-index:100}.m-4{margin:1rem}.m-auto{margin:auto}.-mx-4{margin-left:-1rem;margin-right:-1rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-1\.5{margin-left:.375rem;margin-right:.375rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-5{margin-left:1.25rem;margin-right:1.25rem}.mx-6{margin-left:1.5rem;margin-right:1.5rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-bottom:0;margin-top:0}.my-0\.5{margin-bottom:.125rem;margin-top:.125rem}.my-2{margin-bottom:.5rem;margin-top:.5rem}.my-8{margin-bottom:2rem;margin-top:2rem}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-14{margin-bottom:3.5rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-20{margin-bottom:5rem}.mb-3{margin-bottom:.75rem}.mb-32{margin-bottom:8rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-60{margin-bottom:15rem}.mb-7{margin-bottom:1.75rem}.mb-8{margin-bottom:2rem}.mb-\[-6px\]{margin-bottom:-6px}.mb-\[0\.125rem\]{margin-bottom:.125rem}.mb-\[0\.375rem\]{margin-bottom:.375rem}.mb-\[11\.75rem\]{margin-bottom:11.75rem}.mb-\[20px\]{margin-bottom:20px}.mb-\[24px\]{margin-bottom:24px}.mb-\[4\.75rem\]{margin-bottom:4.75rem}.mb-\[40px\]{margin-bottom:40px}.mb-\[48px\]{margin-bottom:48px}.mb-\[56px\]{margin-bottom:56px}.mb-\[64px\]{margin-bottom:64px}.ml-1{margin-left:.25rem}.ml-4{margin-left:1rem}.ml-\[6px\]{margin-left:6px}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-12{margin-right:3rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mr-5{margin-right:1.25rem}.mr-8{margin-right:2rem}.mr-\[2\.25rem\]{margin-right:2.25rem}.mr-\[26px\]{margin-right:26px}.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-14{margin-top:3.5rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-32{margin-top:8rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-56{margin-top:14rem}.mt-6{margin-top:1.5rem}.mt-64{margin-top:16rem}.mt-8{margin-top:2rem}.mt-\[-9px\]{margin-top:-9px}.mt-\[144px\]{margin-top:144px}.mt-\[240px\]{margin-top:240px}.mt-\[26\.5rem\]{margin-top:26.5rem}.mt-\[280px\]{margin-top:280px}.mt-\[5\.5rem\]{margin-top:5.5rem}.mt-\[64px\]{margin-top:64px}.mt-auto{margin-top:auto}.line-clamp-1{-webkit-line-clamp:1}.line-clamp-1,.line-clamp-2{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}
3.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-0{height:0}.h-0\.5{height:.125rem}.h-10{height:2.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-24{height:6rem}.h-32{height:8rem}.h-60{height:15rem}.h-8{height:2rem}.h-\[15rem\]{height:15rem}.h-\[19rem\]{height:19rem}.h-\[1px\]{height:1px}.h-\[40rem\]{height:40rem}.h-full{height:100%}.h-max{height:-moz-max-content;height:max-content}.h-screen{height:100vh}.max-h-\[34\.5rem\]{max-height:34.5rem}.max-h-fit{max-height:-moz-fit-content;max-height:fit-content}.min-h-12{min-height:3rem}.min-h-36{min-height:9rem}.min-h-\[27\.25rem\]{min-height:27.25rem}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-4{width:1rem}.w-8{width:2rem}.w-\[12\.5rem\]{width:12.5rem}.w-\[15\.5rem\]{width:15.5rem}.w-\[800px\]{width:800px}.w-\[calc\(100\%-16px\)\]{width:calc(100% - 16px)}.w-\[calc\(100\%-32px\)\]{width:calc(100% - 32px)}.w-\[calc\(100\%-36px\)\]{width:calc(100% - 36px)}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-screen{width:100vw}.min-w-\[16rem\]{min-width:16rem}.min-w-\[316px\]{min-width:316px}.min-w-\[816px\]{min-width:816px}.min-w-fit{min-width:-moz-fit-content;min-width:fit-content}.min-w-max{min-width:-moz-max-content;min-width:max-content}.max-w-2xl{max-width:42rem}.max-w-40{max-width:10rem}.max-w-5xl{max-width:64rem}.max-w-6{max-width:1.5rem}.max-w-6xl{max-width:72rem}.max-w-80{max-width:20rem}.max-w-\[16rem\]{max-width:16rem}.max-w-\[24\.25rem\]{max-width:24.25rem}.max-w-\[39rem\]{max-width:39rem}.max-w-\[47rem\]{max-width:47rem}.max-w-\[51rem\]{max-width:51rem}.max-w-\[70\.25rem\]{max-width:70.25rem}.max-w-\[83rem\]{max-width:83rem}.max-w-fit{max-width:-moz-fit-content;max-width:fit-content}.max-w-screen-xl{max-width:1440px}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.flex-grow{flex-grow:1}.basis-1\/3{flex-basis:33.333333%}.table-fixed{table-layout:fixed}.border-collapse{border-collapse:collapse}.-translate-x-2\/4{--tw-translate-x:-50%}.-translate-x-2\/4,.-translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-0{--tw-translate-y:-0px}.-translate-y-0\.5{--tw-translate-y:-0.125rem}.-translate-y-0\.5,.-translate-y-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1{--tw-translate-y:-0.25rem}.-translate-y-2\/4{--tw-translate-y:-50%}.-translate-y-2\/4,.-translate-y-\[calc\(100\%\+40px\)\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-\[calc\(100\%\+40px\)\]{--tw-translate-y:calc(-100% + -40px)}.-translate-y-full{--tw-translate-y:-100%}.-translate-y-full,.translate-x-\[-8px\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[-8px\]{--tw-translate-x:-8px}.translate-y-0{--tw-translate-y:0px}.translate-y-0,.translate-y-0\.5{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0\.5{--tw-translate-y:0.125rem}.translate-y-1{--tw-translate-y:0.25rem}.-rotate-180,.translate-y-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-180{--tw-rotate:-180deg}.-rotate-45{--tw-rotate:-45deg}.-rotate-45,.rotate-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-0{--tw-rotate:0deg}.rotate-180{--tw-rotate:180deg}.rotate-180,.rotate-45{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate:45deg}.rotate-6{--tw-rotate:6deg}.rotate-6,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes infinite-sales-label-en{0%{transform:translateX(0)}to{transform:translateX(-336px)}}.animate-infinite-sales-label-en{animation:infinite-sales-label-en 8s linear infinite}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.grid-rows-3{grid-template-rows:repeat(3,minmax(0,1fr))}.grid-rows-\[auto_auto_2fr_3fr\]{grid-template-rows:auto auto 2fr 3fr}.grid-rows-\[auto_auto_2fr_auto_3fr\]{grid-template-rows:auto auto 2fr auto 3fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-14{gap:3.5rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-8{gap:2rem}.gap-x-10{-moz-column-gap:2.5rem;column-gap:2.5rem}.gap-x-12{-moz-column-gap:3rem;column-gap:3rem}.gap-x-14{-moz-column-gap:3.5rem;column-gap:3.5rem}.gap-x-28{-moz-column-gap:7rem;column-gap:7rem}.gap-x-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.gap-y-1{row-gap:.25rem}.gap-y-12{row-gap:3rem}.gap-y-2{row-gap:.5rem}.gap-y-6{row-gap:1.5rem}.gap-y-8{row-gap:2rem}.gap-y-\[32px\]{row-gap:32px}.gap-y-\[48px\]{row-gap:48px}.self-end{align-self:flex-end}.self-center{align-self:center}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.whitespace-nowrap{white-space:nowrap}.\!rounded-full{border-radius:9999px!important}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}
3.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.border{border-width:1px}.border-\[0\.5px\]{border-width:.5px}.border-y-\[0\.5px\]{border-top-width:.5px}.border-b-\[0\.5px\],.border-y-\[0\.5px\]{border-bottom-width:.5px}.border-l{border-left-width:1px}.border-l-\[0\.5px\]{border-left-width:.5px}.border-r{border-right-width:1px}.border-t-\[0\.5px\]{border-top-width:.5px}.border-t-\[1px\]{border-top-width:1px}.border-none{border-style:none}.border-\[\#323337\]{--tw-border-opacity:1;border-color:rgb(50 51 55/var(--tw-border-opacity))}.border-\[\#6855D7\]{--tw-border-opacity:1;border-color:rgb(104 85 215/var(--tw-border-opacity))}.border-\[\#D6D7E6\]{--tw-border-opacity:1;border-color:rgb(214 215 230/var(--tw-border-opacity))}.border-\[\#D6D8DF\]{--tw-border-opacity:1;border-color:rgb(214 216 223/var(--tw-border-opacity))}.border-primary{--tw-border-opacity:1;border-color:rgb(0 0 199/var(--tw-border-opacity))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.border-l-primary{--tw-border-opacity:1;border-left-color:rgb(0 0 199/var(--tw-border-opacity))}.border-r-primary{--tw-border-opacity:1;border-right-color:rgb(0 0 199/var(--tw-border-opacity))}.\!bg-gray-03{--tw-bg-opacity:1!important;background-color:rgb(242 243 247/var(--tw-bg-opacity))!important}.bg-\[\#00C756\]{--tw-bg-opacity:1;background-color:rgb(0 199 86/var(--tw-bg-opacity))}.bg-\[\#111521\]{--tw-bg-opacity:1;background-color:rgb(17 21 33/var(--tw-bg-opacity))}.bg-\[\#1717CC\]{--tw-bg-opacity:1;background-color:rgb(23 23 204/var(--tw-bg-opacity))}.bg-\[\#202125\]{--tw-bg-opacity:1;background-color:rgb(32 33 37/var(--tw-bg-opacity))}.bg-\[\#290CC6\]{--tw-bg-opacity:1;background-color:rgb(41 12 198/var(--tw-bg-opacity))}.bg-\[\#C70038\]{--tw-bg-opacity:1;background-color:rgb(199 0 56/var(--tw-bg-opacity))}.bg-\[\#D6D7E6\]{--tw-bg-opacity:1;background-color:rgb(214 215 230/var(--tw-bg-opacity))}.bg-\[\#D6D8DF\]{--tw-bg-opacity:1;background-color:rgb(214 216 223/var(--tw-bg-opacity))}.bg-\[\#E6E7EF\]{--tw-bg-opacity:1;background-color:rgb(230 231 239/var(--tw-bg-opacity))}.bg-black\/20{background-color:rgba(0,0,0,.2)}.bg-gray-03{--tw-bg-opacity:1;background-color:rgb(242 243 247/var(--tw-bg-opacity))}.bg-primary{--tw-bg-opacity:1;background-color:rgb(0 0 199/var(--tw-bg-opacity))}.bg-slate-300{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-white\/5{background-color:hsla(0,0%,100%,.05)}.bg-gradient-to-bl{background-image:linear-gradient(to bottom left,var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.bg-gradient-to-tr{background-image:linear-gradient(to top right,var(--tw-gradient-stops))}.from-\[\#8F90A7\]{--tw-gradient-from:#8f90a7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(143,144,167,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-transparent{--tw-gradient-from:transparent var(--tw-gradient-from-position);--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-10\%{--tw-gradient-from-position:10%}.to-\[\#C2C3D0\]{--tw-gradient-to:#c2c3d0 var(--tw-gradient-to-position)}.to-white\/20{--tw-gradient-to:hsla(0,0%,100%,.2) var(--tw-gradient-to-position)}.to-white\/40{--tw-gradient-to:hsla(0,0%,100%,.4) var(--tw-gradient-to-position)}.to-white\/5{--tw-gradient-to:hsla(0,0%,100%,.05) var(--tw-gradient-to-position)}.to-30\%{--tw-gradient-to-position:30%}.\!p-3{padding:.75rem!important}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-\[1\.375rem\]{padding:1.375rem}.p-\[1px\]{padding:1px}.px-1{padding-left:.25rem;padding-right:.25rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-14{padding-left:3.5rem;padding-right:3.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.px-\[51px\]{padding-left:51px;padding-right:51px}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.py-10{padding-bottom:2.5rem;padding-top:2.5rem}.py-16{padding-bottom:4rem;padding-top:4rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-24{padding-bottom:6rem;padding-top:6rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-5{padding-bottom:1.25rem;padding-top:1.25rem}.pb-10{padding-bottom:2.5rem}.pb-12{padding-bottom:3rem}.pb-14{padding-bottom:3.5rem}.pb-16{padding-bottom:4rem}.pb-24{padding-bottom:6rem}.pb-4{padding-bottom:1rem}.pb-44{padding-bottom:11rem}.pb-5{padding-bottom:1.25rem}.pb-56{padding-bottom:14rem}.pb-6{padding-bottom:1.5rem}.pb-7{padding-bottom:1.75rem}.pb-8{padding-bottom:2rem}.pb-\[10\.5rem\]{padding-bottom:10.5rem}.pb-\[24px\]{padding-bottom:24px}.pb-\[3\.625rem\]{padding-bottom:3.625rem}.pb-\[32px\]{padding-bottom:32px}.pb-\[36px\]{padding-bottom:36px}.pb-\[40px\]{padding-bottom:40px}.pb-\[48px\]{padding-bottom:48px}.pb-\[60px\]{padding-bottom:60px}.pb-\[6px\]{padding-bottom:6px}.pb-\[7\.5rem\]{padding-bottom:7.5rem}.pb-\[72px\]{padding-bottom:72px}.pb-\[8\.25rem\]{padding-bottom:8.25rem}.pb-\[80px\]{padding-bottom:80px}.pb-\[96px\]{padding-bottom:96px}.pl-2{padding-left:.5rem}.pl-5{padding-left:1.25rem}.pl-6{padding-left:1.5rem}.pl-\[52px\]{padding-left:52px}.pr-4{padding-right:1rem}.pr-7{padding-right:1.75rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-10{padding-top:2.5rem}.pt-14{padding-top:3.5rem}.pt-16{padding-top:4rem}.pt-20{padding-top:5rem}.pt-28{padding-top:7rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.pt-\[0px\]{padding-top:0}.pt-\[128px\]{padding-top:128px}.pt-\[19\.75rem\]{padding-top:19.75rem}.pt-\[1px\]{padding-top:1px}.pt-\[25rem\]{padding-top:25rem}.pt-\[27\.25rem\]{padding-top:27.25rem}.pt-\[3\.625rem\]{padding-top:3.625rem}.pt-\[36px\]{padding-top:36px}.pt-\[40px\]{padding-top:40px}.pt-\[48px\]{padding-top:48px}.pt-\[56px\]{padding-top:56px}.pt-\[6\.5rem\]{padding-top:6.5rem}.pt-\[60px\]{padding-top:60px}.pt-\[80px\]{padding-top:80px}.pt-\[96px\]{padding-top:96px}.text-left{text-align:left}.text-center{text-align:center}.align-top{vertical-align:top}.text-\[0\.75rem\]{font-size:.75rem}.text-\[0\.8125rem\]{font-size:.8125rem}.text-\[0\.9374rem\]{font-size:.9374rem}.text-\[0\.9375rem\]{font-size:.9375rem}.text-\[1\.0625rem\]{font-size:1.0625rem}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-\[2\.5rem\]{font-size:2.5rem}.text-\[32px\]{font-size:32px}.text-\[6rem\]{font-size:6rem}.text-base{font-size:1rem;line-height:1.5rem}.text-body{font-size:.9375rem;font-weight:300;letter-spacing:-.005em;line-height:1.5rem}.text-h4-mobile{font-size:1.25rem;font-weight:400;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.not-italic{font-style:normal}.leading-10{line-height:2.5rem}.leading-4{line-height:1rem}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-\[0\.875rem\]{line-height:.875rem}.leading-\[6rem\]{line-height:6rem}.tracking-\[-0\.5\%\]{letter-spacing:-.5%}.text-\[\#344357\]{--tw-text-opacity:1;color:rgb(52 67 87/var(--tw-text-opacity))}.text-\[\#5B6587\]{--tw-text-opacity:1;color:rgb(91 101 135/var(--tw-text-opacity))}.text-\[\#84869F\]{--tw-text-opacity:1;color:rgb(132 134 159/var(--tw-text-opacity))}.text-\[\#BDC8FF\]{--tw-text-opacity:1;
3color:rgb(189 200 255/var(--tw-text-opacity))}.text-\[\#E41D3E\]{--tw-text-opacity:1;color:rgb(228 29 62/var(--tw-text-opacity))}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-gray-01{--tw-text-opacity:1;color:rgb(40 41 42/var(--tw-text-opacity))}.text-gray-02{--tw-text-opacity:1;color:rgb(132 134 159/var(--tw-text-opacity))}.text-gray-03{--tw-text-opacity:1;color:rgb(242 243 247/var(--tw-text-opacity))}.text-neutral-300{--tw-text-opacity:1;color:rgb(212 212 212/var(--tw-text-opacity))}.text-primary{--tw-text-opacity:1;color:rgb(0 0 199/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-30{opacity:.3}.outline-none{outline:2px solid transparent;outline-offset:2px}.drop-shadow-xl{--tw-drop-shadow:drop-shadow(0 20px 13px rgba(0,0,0,.03)) drop-shadow(0 8px 5px rgba(0,0,0,.08))}.drop-shadow-xl,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-2xl{--tw-backdrop-blur:blur(40px)}.backdrop-blur-2xl,.backdrop-blur-md{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-100{transition-duration:.1s}.duration-200{transition-duration:.2s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.scrollbar::-webkit-scrollbar{height:4px}.scrollbar::-webkit-scrollbar-thumb{background-color:#5b5f66;border-radius:9999px}.scrollbar::-webkit-scrollbar-track{background-color:#f2f3f7;border-radius:9999px}.scrollbar::-webkit-scrollbar-button{display:none;height:0;width:0}.group:hover .group-hover\:white-round-marker{margin-left:18px;position:relative}.group:hover .group-hover\:white-round-marker:before{background-color:#fff;border-radius:100%;content:"";display:inline-block;left:-17px;margin-right:.75rem;max-height:6px;max-width:6px;min-height:6px;min-width:6px;position:absolute;top:9px;transition:all;transition-duration:.2s}.\*\:inline-block>*{display:inline-block}.selection\:bg-primary ::-moz-selection{--tw-bg-opacity:1;background-color:rgb(0 0 199/var(--tw-bg-opacity))}.selection\:bg-primary ::selection{--tw-bg-opacity:1;background-color:rgb(0 0 199/var(--tw-bg-opacity))}.selection\:text-white ::-moz-selection{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.selection\:text-white ::selection{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.selection\:bg-primary::-moz-selection{--tw-bg-opacity:1;background-color:rgb(0 0 199/var(--tw-bg-opacity))}.selection\:bg-primary::selection{--tw-bg-opacity:1;background-color:rgb(0 0 199/var(--tw-bg-opacity))}.selection\:text-white::-moz-selection{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.selection\:text-white::selection{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.placeholder\:text-body::-moz-placeholder{font-size:.9375rem;font-weight:300;letter-spacing:-.005em;line-height:1.5rem}.placeholder\:text-body::placeholder{font-size:.9375rem;font-weight:300;letter-spacing:-.005em;line-height:1.5rem}.placeholder\:text-gray-02::-moz-placeholder{--tw-text-opacity:1;color:rgb(132 134 159/var(--tw-text-opacity))}.placeholder\:text-gray-02::placeholder{--tw-text-opacity:1;color:rgb(132 134 159/var(--tw-text-opacity))}.first\:mt-3:first-child{margin-top:.75rem}.last\:mb-0:last-child{margin-bottom:0}.last\:mr-0:last-child{margin-right:0}.last\:border-none:last-child{border-style:none}.focus-within\:to-\[\#8F90A7\]:focus-within{--tw-gradient-to:#8f90a7 var(--tw-gradient-to-position)}.hover\:bg-\[\#000096\]:hover{--tw-bg-opacity:1;background-color:rgb(0 0 150/var(--tw-bg-opacity))}.hover\:bg-\[\#28292C\]:hover{--tw-bg-opacity:1;background-color:rgb(40 41 44/var(--tw-bg-opacity))}.hover\:bg-gray-03:hover{--tw-bg-opacity:1;
3background-color:rgb(242 243 247/var(--tw-bg-opacity))}.hover\:bg-primary:hover{--tw-bg-opacity:1;background-color:rgb(0 0 199/var(--tw-bg-opacity))}.hover\:to-\[\#8F90A7\]:hover{--tw-gradient-to:#8f90a7 var(--tw-gradient-to-position)}.hover\:font-medium:hover{font-weight:500}.hover\:text-primary:hover{--tw-text-opacity:1;color:rgb(0 0 199/var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.active\:bg-gray-100:active{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.group:hover .group-hover\:pointer-events-auto{pointer-events:auto}.group:hover .group-hover\:visible{visibility:visible}.group\/subLink:hover .group-hover\/subLink\:translate-x-0{--tw-translate-x:0px}.group:hover .group-hover\:-rotate-180,.group\/subLink:hover .group-hover\/subLink\:translate-x-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:-rotate-180{--tw-rotate:-180deg}.group:hover .group-hover\:rotate-45{--tw-rotate:45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:bg-white\/15{background-color:hsla(0,0%,100%,.15)}.group:hover .group-hover\:bg-white\/5{background-color:hsla(0,0%,100%,.05)}.group:hover .group-hover\:text-\[\#BDC8FF\]{--tw-text-opacity:1;color:rgb(189 200 255/var(--tw-text-opacity))}.group:hover .group-hover\:text-gray-03{--tw-text-opacity:1;color:rgb(242 243 247/var(--tw-text-opacity))}.group:hover .group-hover\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.group:hover .group-hover\:underline{text-decoration-line:underline}.group:hover .group-hover\:opacity-100,.group\/subLink:hover .group-hover\/subLink\:opacity-100{opacity:1}@media (min-width:480px){.sm\:absolute{position:absolute}.sm\:bottom-\[-20\%\]{bottom:-20%}.sm\:top-0{top:0}.sm\:block{display:block}.sm\:hidden{display:none}.sm\:aspect-\[1920\/853\]{aspect-ratio:1920/853}.sm\:max-h-\[40rem\]{max-height:40rem}.sm\:min-h-8{min-height:2rem}.sm\:max-w-fit{max-width:-moz-fit-content;max-width:fit-content}.sm\:max-w-none{max-width:none}}@media (min-width:768px){.md\:absolute{position:absolute}.md\:bottom-0{bottom:0}.md\:left-0{left:0}.md\:left-\[40\%\]{left:40%}.md\:-z-10{z-index:-10}.md\:mx-14{margin-left:3.5rem;margin-right:3.5rem}.md\:mb-0{margin-bottom:0}.md\:mb-10{margin-bottom:2.5rem}.md\:mb-12{margin-bottom:3rem}.md\:mb-2{margin-bottom:.5rem}.md\:mb-24{margin-bottom:6rem}.md\:ml-5{margin-left:1.25rem}.md\:mr-12{margin-right:3rem}.md\:mt-0{margin-top:0}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:w-1\/2{width:50%}.md\:w-\[120\%\]{width:120%}.md\:w-auto{width:auto}.md\:max-w-96{max-width:24rem}.md\:max-w-lg{max-width:32rem}.md\:flex-row{flex-direction:row}.md\:items-start{align-items:flex-start}.md\:justify-normal{justify-content:normal}.md\:rounded-full{border-radius:9999px}.md\:p-2{padding:.5rem}.md\:px-10{padding-left:2.5rem;padding-right:2.5rem}.md\:py-5{padding-bottom:1.25rem;padding-top:1.25rem}.md\:py-6{padding-bottom:1.5rem;padding-top:1.5rem}.md\:py-7{padding-bottom:1.75rem;padding-top:1.75rem}.md\:pb-\[5\.75rem\]{padding-bottom:5.75rem}.md\:pl-8{padding-left:2rem}.md\:pr-6{padding-right:1.5rem}.md\:pt-\[4\.5rem\]{padding-top:4.5rem}.md\:text-\[1\.125rem\]{font-size:1.125rem}.md\:text-\[8rem\]{font-size:8rem}.md\:text-h2-desktop{font-size:2.5rem;font-weight:500;letter-spacing:-.01em;line-height:2.5rem}.md\:text-h3-desktop{font-size:2rem;font-weight:400;line-height:2.5rem}.md\:font-bold{font-weight:700}.md\:\!leading-\[3rem\]{line-height:3rem!important}.md\:leading-8{line-height:2rem}.md\:leading-\[8rem\]{line-height:8rem}.md\:placeholder\:text-body::-moz-placeholder{font-size:.9375rem;font-weight:300;letter-spacing:-.005em;line-height:1.5rem}.md\:placeholder\:text-body::placeholder{font-size:.9375rem;font-weight:300;letter-spacing:-.005em;line-height:1.5rem}}@media (min-width:1024px){.lg\:sticky{position:sticky}.lg\:left-\[30\%\]{left:30%}.lg\:left-auto{left:auto}.lg\:right-\[-16px\]{right:-16px}.lg\:top-24{top:6rem}.lg\:top-\[-12px\]{top:-12px}.lg\:mx-14{margin-left:3.5rem;margin-right:3.5rem}.lg\:mx-4{margin-left:1rem;margin-right:1rem}.lg\:my-auto{margin-bottom:auto;margin-top:auto}.lg\:-mt-16{margin-top:-4rem}.lg\:mb-0{margin-bottom:0}.lg\:mb-1{margin-bottom:.25rem}.lg\:mb-10{margin-bottom:2.5rem}.lg\:mb-11{margin-bottom:2.75rem}.lg\:mb-12{margin-bottom:3rem}.lg\:mb-14{margin-bottom:3.5rem}.lg\:mb-16{margin-bottom:4rem}.lg\:mb-2{margin-bottom:.5rem}.lg\:mb-20{margin-bottom:5rem}.lg\:mb-24{margin-bottom:6rem}.lg\:mb-4{margin-bottom:1rem}.lg\:mb-40{margin-bottom:10rem}.lg\:mb-5{margin-bottom:1.25rem}.lg\:mb-6{margin-bottom:1.5rem}.lg\:mb-8{margin-bottom:2rem}.lg\:mb-\[0\.375rem\]{margin-bottom:.375rem}.lg\:mb-\[0\.875rem\]{margin-bottom:.875rem}.lg\:mb-\[1\.375rem\]{margin-bottom:1.375rem}.lg\:mb-\[11\.25rem\]{margin-bottom:11.25rem}.lg\:mb-\[16px\]{margin-bottom:16px}.lg\:mb-\[40px\]{margin-bottom:40px}.lg\:mb-\[50px\]{margin-bottom:50px}.lg\:mb-\[56px\]{margin-bottom:56px}.lg\:mb-\[64px\]{margin-bottom:64px}.lg\:mb-\[7\.5rem\]{margin-bottom:7.5rem}.lg\:mb-\[80px\]{margin-bottom:80px}.lg\:ml-12{margin-left:3rem}.lg\:ml-16{margin-left:4rem}.lg\:ml-\[16rem\]{margin-left:16rem}.lg\:ml-\[32rem\]{margin-left:32rem}.lg\:ml-\[8rem\]{margin-left:8rem}.lg\:mr-0{margin-right:0}.lg\:mr-10{margin-right:2.5rem}.lg\:mr-14{margin-right:3.5rem}.lg\:mr-2{margin-right:.5rem}.lg\:mr-20{margin-right:5rem}.lg\:mr-24{margin-right:6rem}.lg\:mr-4{margin-right:1rem}.lg\:mr-6{margin-right:1.5rem}.lg\:mr-8{margin-right:2rem}.lg\:mr-\[3\.75rem\]{margin-right:3.75rem}.lg\:mt-0{margin-top:0}.lg\:mt-1{margin-top:.25rem}.lg\:mt-10{margin-top:2.5rem}.lg\:mt-12{margin-top:3rem}.lg\:mt-2{margin-top:.5rem}.lg\:mt-20{margin-top:5rem}.lg\:mt-28{margin-top:7rem}.lg\:mt-40{margin-top:10rem}.lg\:mt-48{margin-top:12rem}.lg\:mt-52{margin-top:13rem}.lg\:mt-6{margin-top:1.5rem}.lg\:mt-8{margin-top:2rem}.lg\:mt-\[10\.75rem\]{margin-top:10.75rem}.lg\:mt-\[216px\]{margin-top:216px}.lg\:mt-\[232px\]{margin-top:232px}.lg\:mt-\[25\.5rem\]{margin-top:25.5rem}.lg\:mt-\[280px\]{margin-top:280px}.lg\:mt-\[40px\]{margin-top:40px}.lg\:mt-\[80px\]{margin-top:80px}.lg\:mt-\[96px\]{margin-top:96px}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:h-16{height:4rem}.lg\:h-48{height:12rem}.lg\:h-80{height:20rem}.lg\:h-\[5\.5rem\]{height:5.5rem}.lg\:h-fit{height:-moz-fit-content;height:fit-content}.lg\:max-h-\[10\.5rem\]{max-height:10.5rem}.lg\:min-h-\[5\.5rem\]{min-height:5.5rem}.lg\:w-3\/5{width:60%}.lg\:w-\[100\%\]{width:100%}.lg\:w-\[12\.5rem\]{width:12.5rem}.lg\:w-\[13rem\]{width:13rem}.lg\:w-\[16rem\]{width:16rem}.lg\:w-\[27\%\]{width:27%}.lg\:w-\[56\%\]{width:56%}.lg\:w-\[61\%\]{width:61%}.lg\:w-auto{width:auto}.lg\:w-full{width:100%}.lg\:max-w-64{max-width:16rem}.lg\:max-w-\[11\.25rem\]{max-width:11.25rem}.lg\:max-w-\[180px\]{max-width:180px}.lg\:max-w-\[268px\]{max-width:268px}.lg\:max-w-\[29\.5rem\]{max-width:29.5rem}.lg\:max-w-\[294px\]{max-width:294px}.lg\:max-w-\[326px\]{max-width:326px}.lg\:max-w-\[51\.125rem\]{max-width:51.125rem}.lg\:max-w-\[51rem\]{max-width:51rem}.lg\:max-w-\[560px\]{max-width:560px}.lg\:max-w-\[68\%\]{max-width:68%}.lg\:max-w-\[696px\]{max-width:696px}.lg\:max-w-\[816px\]{max-width:816px}.lg\:max-w-lg{max-width:32rem}.lg\:max-w-none{max-width:none}.lg\:max-w-xl{max-width:36rem}.lg\:flex-1{flex:1 1 0%}.lg\:flex-grow{flex-grow:1}.lg\:basis-auto{flex-basis:auto}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.lg\:grid-rows-3{grid-template-rows:repeat(3,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:justify-end{justify-content:flex-end}.lg\:justify-between{justify-content:space-between}.lg\:gap-10{gap:2.5rem}.lg\:gap-12{gap:3rem}.lg\:gap-2{gap:.5rem}.lg\:gap-x-10{-moz-column-gap:2.5rem;column-gap:2.5rem}.lg\:gap-x-28{-moz-column-gap:7rem;column-gap:7rem}.lg\:gap-y-10{row-gap:2.5rem}.lg\:gap-y-16{row-gap:4rem}.lg\:gap-y-20{row-gap:5rem}.lg\:gap-y-7{row-gap:1.75rem}.lg\:gap-y-\[16px\]{row-gap:16px}.lg\:gap-y-\[48px\]{row-gap:48px}.lg\:gap-y-\[64px\]{row-gap:64px}.lg\:gap-y-\[80px\]{row-gap:80px}.lg\:gap-y-\[88px\]{row-gap:88px}.lg\:self-end{align-self:flex-end}
3.lg\:rounded-full{border-radius:9999px}.lg\:from-20\%{--tw-gradient-from-position:20%}.lg\:p-10{padding:2.5rem}.lg\:p-7{padding:1.75rem}.lg\:p-\[1px\]{padding:1px}.lg\:px-0{padding-left:0;padding-right:0}.lg\:px-10{padding-left:2.5rem;padding-right:2.5rem}.lg\:px-14{padding-left:3.5rem;padding-right:3.5rem}.lg\:px-16{padding-left:4rem;padding-right:4rem}.lg\:px-6{padding-left:1.5rem;padding-right:1.5rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:py-0{padding-bottom:0;padding-top:0}.lg\:py-16{padding-bottom:4rem;padding-top:4rem}.lg\:py-24{padding-bottom:6rem;padding-top:6rem}.lg\:py-8{padding-bottom:2rem;padding-top:2rem}.lg\:py-\[14px\]{padding-bottom:14px;padding-top:14px}.lg\:pb-10{padding-bottom:2.5rem}.lg\:pb-14{padding-bottom:3.5rem}.lg\:pb-20{padding-bottom:5rem}.lg\:pb-40{padding-bottom:10rem}.lg\:pb-6{padding-bottom:1.5rem}.lg\:pb-8{padding-bottom:2rem}.lg\:pb-\[10\.5rem\]{padding-bottom:10.5rem}.lg\:pb-\[102px\]{padding-bottom:102px}.lg\:pb-\[104px\]{padding-bottom:104px}.lg\:pb-\[112px\]{padding-bottom:112px}.lg\:pb-\[12\.5rem\]{padding-bottom:12.5rem}.lg\:pb-\[120px\]{padding-bottom:120px}.lg\:pb-\[12rem\]{padding-bottom:12rem}.lg\:pb-\[136px\]{padding-bottom:136px}.lg\:pb-\[138px\]{padding-bottom:138px}.lg\:pb-\[160px\]{padding-bottom:160px}.lg\:pb-\[3\.75rem\]{padding-bottom:3.75rem}.lg\:pb-\[48px\]{padding-bottom:48px}.lg\:pb-\[5\.125rem\]{padding-bottom:5.125rem}.lg\:pb-\[56px\]{padding-bottom:56px}.lg\:pb-\[60px\]{padding-bottom:60px}.lg\:pb-\[68px\]{padding-bottom:68px}.lg\:pb-\[80px\]{padding-bottom:80px}.lg\:pb-\[88px\]{padding-bottom:88px}.lg\:pr-6{padding-right:1.5rem}.lg\:pr-8{padding-right:2rem}.lg\:pt-0{padding-top:0}.lg\:pt-10{padding-top:2.5rem}.lg\:pt-12{padding-top:3rem}.lg\:pt-16{padding-top:4rem}.lg\:pt-20{padding-top:5rem}.lg\:pt-24{padding-top:6rem}.lg\:pt-32{padding-top:8rem}.lg\:pt-48{padding-top:12rem}.lg\:pt-6{padding-top:1.5rem}.lg\:pt-8{padding-top:2rem}.lg\:pt-\[102px\]{padding-top:102px}.lg\:pt-\[120px\]{padding-top:120px}.lg\:pt-\[144px\]{padding-top:144px}.lg\:pt-\[21\.5rem\]{padding-top:21.5rem}.lg\:pt-\[23\.5rem\]{padding-top:23.5rem}.lg\:pt-\[3\.75rem\]{padding-top:3.75rem}.lg\:pt-\[40px\]{padding-top:40px}.lg\:pt-\[50px\]{padding-top:50px}.lg\:pt-\[60px\]{padding-top:60px}.lg\:pt-\[68px\]{padding-top:68px}.lg\:pt-\[7\.5rem\]{padding-top:7.5rem}.lg\:pt-\[80px\]{padding-top:80px}.lg\:pt-\[88px\]{padding-top:88px}.lg\:pt-\[9rem\]{padding-top:9rem}.lg\:text-\[0\.9375rem\]{font-size:.9375rem}.lg\:text-sm{font-size:.875rem;line-height:1.25rem}.lg\:leading-6{line-height:1.5rem}.last\:lg\:mb-0:last-child{margin-bottom:0}.lg\:last\:mr-0:last-child{margin-right:0}}@media (min-width:1200px){.min-\[1200px\]\:top-\[-14px\]{top:-14px}}@media (min-width:1440px){.xl\:top-\[-16px\]{top:-16px}.xl\:mb-0{margin-bottom:0}.xl\:mb-4{margin-bottom:1rem}.xl\:mb-6{margin-bottom:1.5rem}.xl\:ml-64,.xl\:ml-\[16rem\]{margin-left:16rem}.xl\:ml-\[32rem\]{margin-left:32rem}.xl\:mr-6{margin-right:1.5rem}.xl\:flex{display:flex}.xl\:grid{display:grid}.xl\:w-\[70\%\]{width:70%}.xl\:max-w-\[61\%\]{max-width:61%}.xl\:flex-1{flex:1 1 0%}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-rows-\[auto_1fr_3fr\]{grid-template-rows:auto 1fr 3fr}.xl\:justify-normal{justify-content:normal}.xl\:gap-0{gap:0}.xl\:gap-10{gap:2.5rem}.xl\:border-r-\[0\.5px\]{border-right-width:.5px}.xl\:border-none{border-style:none}.xl\:pr-6{padding-right:1.5rem}.xl\:last\:mr-0:last-child{margin-right:0}.xl\:last\:pr-0:last-child{padding-right:0}}.\[\&\:\:-webkit-scrollbar-thumb\]\:bg-\[\#A8A9CA\]::-webkit-scrollbar-thumb{--tw-bg-opacity:1;background-color:rgb(168 169 202/var(--tw-bg-opacity))}.\[\&\:\:-webkit-scrollbar-track\]\:bg-\[\#D5D9E7\]::-webkit-scrollbar-track{--tw-bg-opacity:1;background-color:rgb(213 217 231/var(--tw-bg-opacity))}.\[\&\:\:-webkit-scrollbar\]\:w-\[1px\]::-webkit-scrollbar{width:1px}.\[\&\>\*\]\:text-white>*,.\[\&\>h1\]\:text-white>h1{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.\[\&\>svg\]\:fill-\[\#C3C4D8\]>svg{fill:#c3c4d8}.\[\&\>svg\]\:duration-200>svg{transition-duration:.2s}.group:hover .group-hover\:\[\&\>svg\]\:fill-black>svg{fill:#000}</style><link rel="sitemap" type="application/xml" href="/sitemap-index.xml"/>
3<link rel="preconnect" href="https://cdn.sanity.io"/><style>.gatsby-image-wrapper{position:relative;overflow:hidden}.gatsby-image-wrapper picture.object-fit-polyfill{position:static!important}.gatsby-image-wrapper img{bottom:0;height:100%;left:0;margin:0;max-width:none;padding:0;position:absolute;right:0;top:0;width:100%;object-fit:cover}.gatsby-image-wrapper [data-main-image]{opacity:0;transform:translateZ(0);transition:opacity .25s linear;will-change:opacity}.gatsby-image-wrapper-constrained{display:inline-block;vertical-align:top}</style><noscript><style>.gatsby-image-wrapper noscript [data-main-image]{opacity:1!important}.gatsby-image-wrapper [data-placeholder-image]{opacity:0!important}</style></noscript>
3<script type="module">const e="undefined"!=typeof HTMLImageElement&&"loading"in HTMLImageElement.prototype;e&&document.body.addEventListener("load",(function(e){const t=e.target;if(void 0===t.dataset.mainImage)return;if(void 0===t.dataset.gatsbyImageSsr)return;let a=null,n=t;for(;null===a&&n;)void 0!==n.parentNode.dataset.gatsbyImageWrapper&&(a=n.parentNode),n=n.parentNode;const o=a.querySelector("[data-placeholder-image]"),r=new Image;r.src=t.currentSrc,r.decode().catch((()=>{})).then((()=>{t.style.opacity=1,o&&(o.style.opacity=0,o.style.transition="opacity 500ms linear")}))}),!0);</script>
3<link rel="preload" href="/fonts/host-grotesk/variable/HostGrotesk.woff2" as="font" type="font/woff2" crossorigin="anonymous"/><link rel="preload" href="/fonts/host-grotesk/variable/HostGrotesk-Italic.woff2" as="font" type="font/woff2" crossorigin="anonymous"/><style>
4			@font-face {
5				font-family: Host Grotesk;
6				src: url(/fonts/host-grotesk/variable/HostGrotesk.woff2) format(woff2);
7				font-weight: 100 900;
8				font-style: normal;
9				font-display: swap;
10			}
11
12			@font-face {
13				font-family: Host Grotesk;
14				src: url(/fonts/host-grotesk/variable/HostGrotesk-Italic.woff2) format(woff2);
15				font-weight: 100 900;
16				font-style: italic;
17				font-display: swap;
18			}
19
20			body {
21				font-family: Host Grotesk, sans-serif;
22			}
23		</style><link rel="icon" href="/favicon.ico" sizes="any"/><link rel="icon" href="/favicon.svg" type="image/svg+xml"/><link rel="apple-touch-icon" href="/apple-touch-icon.png"/><link rel="llms" href="/llms.txt"/><title data-gatsby-head="true">IT Outsourcing Blog: Insights to Build &amp; Scale | BluePes</title><link rel="canonical" href="https://bluepes.com/blog" data-gatsby-head="true"/><link rel="next" href="https://bluepes.com/blog/page/2" data-gatsby-head="true"/>
23<script data-gatsby-head="true">
vendor: 327 bytes, line 23
23(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','
23GTM-PHPZVT2
vendor: 3 bytes, line 23
23');
23</script>
23<script type="application/ld+json" data-gatsby-head="true">{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://bluepes.com/#organization","name":"Bluepes","url":"https://bluepes.com","logo":{"@type":"ImageObject","url":"https://bluepes.com/static/ac9d46bf625bbbbf7078f4a79313a145/569d878af120034de81a38d271f2c612c3ee59ad-144x48.svg"},"contactPoint":{"@type":"ContactPoint","telephone":"+34 668 556 442","contactType":"customer service","areaServed":"Worldwide"},"areaServed":"Worldwide","sameAs":["https://www.linkedin.com/company/bluepes/"]},{"@type":"WebSite","@id":"https://bluepes.com/#website","url":"https://bluepes.com","name":"Bluepes","publisher":{"@type":"Organization","@id":"https://bluepes.com/#organization"}},{"@type":"CollectionPage","@id":"https://bluepes.com/blog#collectionpage","name":"BluePes Blog: Insights & Trends","description":"Not sure where to start with software? BluePes breaks down complex IT topics for founders, managers, and teams ready to build and scale. New articles every week","url":"https://bluepes.com/blog","datePublished":"2024-07-30T12:27:09Z","dateModified":"2026-09-15T12:43:22Z","isPartOf":{"@type":"WebSite","@id":"https://bluepes.com/#website"},"publisher":{"@type":"Organization","@id":"https://bluepes.com/#organization"},"mainEntity":{"@type":"ItemList","itemListElement":[{"@type":"ListItem","position":1,"url":"https://bluepes.com/blog/ai-testing-edtech"},{"@type":"ListItem","position":2,"url":"https://bluepes.com/blog/rag-wrong-answers-retrieval"},{"@type":"ListItem","position":3,"url":"https://bluepes.com/blog/edtech-data-architecture"},{"@type":"ListItem","position":4,"url":"https://bluepes.com/blog/ai-feature-without-rewrite"},{"@type":"ListItem","position":5,"url":"https://bluepes.com/blog/ai-document-ingestion"},{"@type":"ListItem","position":6,"url":"https://bluepes.com/blog/flutter-delivery-driver-app"},{"@type":"ListItem","position":7,"url":"https://bluepes.com/blog/preorder-ecommerce-architecture"},{"@type":"ListItem","position":8,"url":"https://bluepes.com/blog/group-buying-delivery-marketplaces"},{"@type":"ListItem","position":9,"url":"https://bluepes.com/blog/white-label-app-development"}]},"breadcrumb":{"@id":"https://bluepes.com/blog#breadcrumb"}},{"@type":"BreadcrumbList","@id":"https://bluepes.com/blog#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://bluepes.com/"},{"@type":"ListItem","position":2,"name":"Blog","item":"https://bluepes.com/blog"}]}]}</script>
23</head><body>
vendor: 67 bytes, line 23
23<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
23GTM-PHPZVT2
vendor: 82 bytes, line 23
23" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
23<div id="___gatsby"><div style="outline:none" tabindex="-1" id="gatsby-focus-wrapper"><div class="flex flex-col h-max min-h-screen selection:bg-primary selection:text-white"><nav class="sticky z-50 top-0 left-0 w-full bg-white"><div class="flex items-center justify-between max-w-screen-xl mx-auto py-3 lg:py-0 px-4 lg:px-14"><a aria-label="Bluepes Logo" href="/"><div class="md:hidden"><img src="/static/e0c5d35e708979360b08c5c473006be4/c0e1bc1e81ce26ea5bba8d633bc9620191bdcf2e-144x48.svg" width="144" height="48" loading="lazy" alt="Bluepes Logo"/></div><div class="hidden md:block"><img src="/static/e0c5d35e708979360b08c5c473006be4/c0e1bc1e81ce26ea5bba8d633bc9620191bdcf2e-144x48.svg" width="144" height="48" loading="lazy" alt="Bluepes Logo"/></div></a><div class="flex items-center"><ul class="z-50 hidden lg:flex items-center"><li class="last:mr-0 md:py-7 relative group mr-[26px]"><div class="flex items-center justify-between"><span><p class="font-normal text-[0.9374rem] leading-6 tracking-[-0.5%]">Services</p></span><div class="transition-transform duration-200 group-hover:-rotate-180 ml-[6px] cursor-pointer"><span class="[&amp;&gt;svg]:transition-color [&amp;&gt;svg]:duration-200 [&amp;&gt;svg]:fill-[#C3C4D8] group-hover:[&amp;&gt;svg]:fill-black"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20"><path d="m9.558 14.192-6.25-6.25a.625.625 0 0 1 .884-.884L10 12.867l5.808-5.81a.625.625 0 1 1 .884.885l-6.25 6.25a.627.627 0 0 1-.884 0"></path></svg></span></div></div><ul class="grid w-max absolute p-2 bg-white rounded-lg drop-shadow-xl transition-all duration-100 opacity-0 invisible pointer-events-none group-hover:opacity-100 group-hover:visible group-hover:pointer-events-auto grid-cols-2 top-16 left-[-16px]"><li class="w-[15.5rem]"><a href="/product-development"><div class="group/subLink flex items-center w-full py-3 pl-2 pr-4 rounded-md transition-all duration-100 hover:bg-gray-03"><img src="/static/8591cb58e676257a635ce8e5ea974d87/e4fdd44aa0b84f73126ddee8e4831df319800b94-20x20.svg" width="20" height="20" loading="lazy" alt="Product Development" class="mr-3"/><p class="mr-2 text-[0.8125rem] leading-6 tracking-[-0.5%] font-light">Product Development</p><span class="inline-block ml-auto opacity-0 translate-x-[-8px] transition-all duration-100 group-hover/subLink:opacity-100 group-hover/subLink:translate-x-0"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none"><path fill="#000" d="m13.854 8.354-4.5 4.5a.5.5 0 0 1-.708-.708L12.293 8.5H2.5a.5.5 0 1 1 0-1h9.793L8.646 3.854a.5.5 0 1 1 .708-.708l4.5 4.5a.5.5 0 0 1 0 .708"></path></svg></span></div></a></li><li class="w-[15.5rem]"><a href="/dedicated-development-team"><div class="group/subLink flex items-center w-full py-3 pl-2 pr-4 rounded-md transition-all duration-100 hover:bg-gray-03"><img src="/static/512789c4a8cabd667b6c50c839a8ce84/ae460b72d1b2fbd387a676a31fddd4a2368cb776-24x24.svg" width="24" height="24" loading="lazy" alt="Dedicated Team" class="mr-3"/><p class="mr-2 text-[0.8125rem] leading-6 tracking-[-0.5%] font-light">Dedicated Team</p><span class="inline-block ml-auto opacity-0 translate-x-[-8px] transition-all duration-100 group-hover/subLink:opacity-100 group-hover/subLink:translate-x-0"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none"><path fill="#000" d="m13.854 8.354-4.5 4.5a.5.5 0 0 1-.708-.708L12.293 8.5H2.5a.5.5 0 1 1 0-1h9.793L8.646 3.854a.5.5 0 1 1 .708-.708l4.5 4.5a.5.5 0 0 1 0 .708"></path></svg></span></div></a></li><li class="w-[15.5rem]"><a href="/amazon-quick-suite"><div class="group/subLink flex items-center w-full py-3 pl-2 pr-4 rounded-md transition-all duration-100 hover:bg-gray-03"><img src="/static/1d22a334e236a2cc14e6124635e33d38/5f66d4336f7935bdb866ac1bc8b48d4a64f37caf-20x20.svg" width="20" height="20" loading="lazy" alt="Amazon Quick Suite" class="mr-3"/><p class="mr-2 text-[0.8125rem] leading-6 tracking-[-0.5%] font-light">Amazon Quick Suite</p><span class="inline-block ml-auto opacity-0 translate-x-[-8px] transition-all duration-100 group-hover/subLink:opacity-100 group-hover/subLink:translate-x-0"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none"><path fill="#000" d="m13.854 8.354-4.5 4.5a.5.5 0 0 1-.708-.708L12.293 8.5H2.5a.5.5 0 1 1 0-1h9.793L8.646 3.854a.5.5 0 1 1 .708-.708l4.5 4.5a.5.5 0 0 1 0 .708"></path></svg></span></div></a></li><li class="w-[15.5rem]"><a href="/java-development"><div class="group/subLink flex items-center w-full py-3 pl-2 pr-4 rounded-md transition-all duration-100 hover:bg-gray-03"><img src="/static/d708942d80d27a7aff340df1368dcfab/59d5a1050d45e8ce10e0fc34c1a11cd5b4c47783-20x20.svg" width="20" height="20" loading="lazy" alt="Java Development" class="mr-3"/><p class="mr-2 text-[0.8125rem] leading-6 tracking-[-0.5%] font-light">Java Development</p><span class="inline-block ml-auto opacity-0 translate-x-[-8px] transition-all duration-100 group-hover/subLink:opacity-100 group-hover/subLink:translate-x-0"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none"><path fill="#000" d="m13.854 8.354-4.5 4.5a.5.5 0 0 1-.708-.708L12.293 8.5H2.5a.5.5 0 1 1 0-1h9.793L8.646 3.854a.5.5 0 1 1 .708-.708l4.5 4.5a.5.5 0 0 1 0 .708"></path></svg></span></div></a></li><li class="w-[15.5rem]"><a href="/proof-of-concept-development-services"><div class="group/subLink flex items-center w-full py-3 pl-2 pr-4 rounded-md transition-all duration-100 hover:bg-gray-03"><img src="/static/6c4e0331cd28ec9d7b872658bd874ce9/549079f307bcac309c3d177f56b2760da80bdf5e-20x20.svg" width="20" height="20" loading="lazy" alt="PoC Development" class="mr-3"/><p class="mr-2 text-[0.8125rem] leading-6 tracking-[-0.5%] font-light">PoC Development</p><span class="inline-block ml-auto opacity-0 translate-x-[-8px] transition-all duration-100 group-hover/subLink:opacity-100 group-hover/subLink:translate-x-0"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none"><path fill="#000" d="m13.854 8.354-4.5 4.5a.5.5 0 0 1-.708-.708L12.293 8.5H2.5a.5.5 0 1 1 0-1h9.793L8.646 3.854a.5.5 0 1 1 .708-.708l4.5 4.5a.5.5 0 0 1 0 .708"></path></svg></span></div></a></li><li class="w-[15.5rem]"><a href="/power-bi-consulting-services"><div class="group/subLink flex items-center w-full py-3 pl-2 pr-4 rounded-md transition-all duration-100 hover:bg-gray-03"><img src="/static/e9a7f9d34571917f69bb2845f528cf0d/c76b54df6359b6210b2fffded4637d4e3fca2169-20x20.svg" width="20" height="20" loading="lazy" alt="Power BI" class="mr-3"/><p class="mr-2 text-[0.8125rem] leading-6 tracking-[-0.5%] font-light">Power BI</p><span class="inline-block ml-auto opacity-0 translate-x-[-8px] transition-all duration-100 group-hover/subLink:opacity-100 group-hover/subLink:translate-x-0"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none"><path fill="#000" d="m13.854 8.354-4.5 4.5a.5.5 0 0 1-.708-.708L12.293 8.5H2.5a.5.5 0 1 1 0-1h9.793L8.646 3.854a.5.5 0 1 1 .708-.708l4.5 4.5a.5.5 0 0 1 0 .708"></path></svg></span></div></a></li></ul></li><li class="last:mr-0 md:py-7 relative group mr-[26px]"><div class="flex items-center justify-between"><span><p class="font-normal text-[0.9374rem] leading-6 tracking-[-0.5%]">Industries</p></span><div class="transition-transform duration-200 group-hover:-rotate-180 ml-[6px] cursor-pointer"><span class="[&amp;&gt;svg]:transition-color [&amp;&gt;svg]:duration-200 [&amp;&gt;svg]:fill-[#C3C4D8] group-hover:[&amp;&gt;svg]:fill-black"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20"><path d="m9.558 14.192-6.25-6.25a.625.625 0 0 1 .884-.884L10 12.867l5.808-5.81a.625.625 0 1 1 .884.885l-6.25 6.25a.627.627 0 0 1-.884 0"></path></svg></span></div></div><ul class="grid w-max absolute p-2 bg-white rounded-lg drop-shadow-xl transition-all duration-100 opacity-0 invisible pointer-events-none group-hover:opacity-100 group-hover:visible group-hover:pointer-events-auto grid-cols-2 top-16 left-[-34px] lg:left-auto lg:right-[-16px]"><li class="w-[15.5rem]"><a href="/healthcare"><div class="group/subLink flex items-center w-full py-3 pl-2 pr-4 rounded-md transition-all duration-100 hover:bg-gray-03"><img src="/static/fe10164fac465b66420b42044644b515/e1e1236238de7c48faff0d6a356ce9fb9b0d52ed-24x24.svg" width="24" height="24" loading="lazy" alt="Healthcare and MedTech" class="mr-3"/><p class="mr-2 text-[0.8125rem] leading-6 tracking-[-0.5%] font-light">Healthcare and MedTech</p><span class="inline-block ml-auto opacity-0 translate-x-[-8px] transition-all duration-100 group-hover/subLink:opacity-100 group-hover/subLink:translate-x-0"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none"><path fill="#000" d="m13.854 8.354-4.5 4.5a.5.5 0 0 1-.708-.708L12.293 8.5H2.5a.5.5 0 1 1 0-1h9.793L8.646 3.854a.5.5 0 1 1 .708-.708l4.5 4.5a.5.5 0 0 1 0 .708"></path></svg></span></div></a></li><li class="w-[15.5rem]"><a href="/fintech"><div class="group/subLink flex items-center w-full py-3 pl-2 pr-4 rounded-md transition-all duration-100 hover:bg-gray-03"><img src="/static/2d24c2a037245fd3ceb84ffd8500f74f/4b4b4e9f76f1b59e03ad1c54df0cdc2bfff27102-24x24.svg" width="24" height="24" loading="lazy" alt="Banking and Finance" class="mr-3"/><p class="mr-2 text-[0.8125rem] leading-6 tracking-[-0.5%] font-light">Banking and Finance</p><span class="inline-block ml-auto opacity-0 translate-x-[-8px] transition-all duration-100 group-hover/subLink:opacity-100 group-hover/subLink:translate-x-0"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none"><path fill="#000" d="m13.854 8.354-4.5 4.5a.5.5 0 0 1-.708-.708L12.293 8.5H2.5a.5.5 0 1 1 0-1h9.793L8.646 3.854a.5.5 0 1 1 .708-.708l4.5 4.5a.5.5 0 0 1 0 .708"></path></svg></span></div></a></li><li class="w-[15.5rem]"><a href="/real-estate"><div class="group/subLink flex items-center w-full py-3 pl-2 pr-4 rounded-md transition-all duration-100 hover:bg-gray-03"><img src="/static/b110d6dbd178db68c1b02c725ecc25c8/75fef94480804a429580ae9bb2c8b8e609493b09-24x24.svg" width="24" height="24" loading="lazy" alt="Real Estate &amp; PropTech" class="mr-3"/><p class="mr-2 text-[0.8125rem] leading-6 tracking-[-0.5%] font-light">Real Estate &amp; PropTech</p><span class="inline-block ml-auto opacity-0 translate-x-[-8px] transition-all duration-100 group-hover/subLink:opacity-100 group-hover/subLink:translate-x-0"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none"><path fill="#000" d="m13.854 8.354-4.5 4.5a.5.5 0 0 1-.708-.708L12.293 8.5H2.5a.5.5 0 1 1 0-1h9.793L8.646 3.854a.5.5 0 1 1 .708-.708l4.5 4.5a.5.5 0 0 1 0 .708"></path></svg></span></div></a></li><li class="w-[15.5rem]"><a href="/cybersecurity"><div class="group/subLink flex items-center w-full py-3 pl-2 pr-4 rounded-md transition-all duration-100 hover:bg-gray-03"><img src="/static/8279358d7f02b5a08e0dc7382c4bc016/78998bddb690f6114595cac095b2655b457355fc-20x20.svg" width="20" height="20" loading="lazy" alt="Cybersecurity" class="mr-3"/><p class="mr-2 text-[0.8125rem] leading-6 tracking-[-0.5%] font-light">Cybersecurity</p><span class="inline-block ml-auto opacity-0 translate-x-[-8px] transition-all duration-100 group-hover/subLink:opacity-100 group-hover/subLink:translate-x-0"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none"><path fill="#000" d="m13.854 8.354-4.5 4.5a.5.5 0 0 1-.708-.708L12.293 8.5H2.5a.5.5 0 1 1 0-1h9.793L8.646 3.854a.5.5 0 1 1 .708-.708l4.5 4.5a.5.5 0 0 1 0 .708"></path></svg></span></div></a></li><li class="w-[15.5rem]"><a href="/e-commerce"><div class="group/subLink flex items-center w-full py-3 pl-2 pr-4 rounded-md transition-all duration-100 hover:bg-gray-03"><img src="/static/576202237ab8d65b3dfde5f315bd055d/472e9edd292e6465f65d5f5cda2edc9a2be80330-20x20.svg" width="20" height="20" loading="lazy" alt="E-Commerce" class="mr-3"/><p class="mr-2 text-[0.8125rem] leading-6 tracking-[-0.5%] font-light">E-Commerce</p><span class="inline-block ml-auto opacity-0 translate-x-[-8px] transition-all duration-100 group-hover/subLink:opacity-100 group-hover/subLink:translate-x-0"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none"><path fill="#000" d="m13.854 8.354-4.5 4.5a.5.5 0 0 1-.708-.708L12.293 8.5H2.5a.5.5 0 1 1 0-1h9.793L8.646 3.854a.5.5 0 1 1 .708-.708l4.5 4.5a.5.5 0 0 1 0 .708"></path></svg></span></div></a></li><li class="w-[15.5rem]"><a href="/edtech"><div class="group/subLink flex items-center w-full py-3 pl-2 pr-4 rounded-md transition-all duration-100 hover:bg-gray-03"><img src="/static/8e7b33a0b176c8915f8e91c7aa6697af/5e08788dcbd84669f5f44a7ce74c08d53ee26081-20x20.svg" width="20" height="20" loading="lazy" alt="EdTech" class="mr-3"/><p class="mr-2 text-[0.8125rem] leading-6 tracking-[-0.5%] font-light">EdTech</p><span class="inline-block ml-auto opacity-0 translate-x-[-8px] transition-all duration-100 group-hover/subLink:opacity-100 group-hover/subLink:translate-x-0"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none"><path fill="#000" d="m13.854 8.354-4.5 4.5a.5.5 0 0 1-.708-.708L12.293 8.5H2.5a.5.5 0 1 1 0-1h9.793L8.646 3.854a.5.5 0 1 1 .708-.708l4.5 4.5a.5.5 0 0 1 0 .708"></path></svg></span></div></a></li><li class="w-[15.5rem]"><a href="/artificial-intelligence"><div class="group/subLink flex items-center w-full py-3 pl-2 pr-4 rounded-md transition-all duration-100 hover:bg-gray-03"><img src="/static/4d5c506199b06a2d6f59f5e95567476d/5fcae0cf9f2e395ad128e5215238da5656e5f5ab-20x20.svg" width="20" height="20" loading="lazy" alt="AI and Machine Learning" class="mr-3"/><p class="mr-2 text-[0.8125rem] leading-6 tracking-[-0.5%] font-light">AI and Machine Learning</p><span class="inline-block ml-auto opacity-0 translate-x-[-8px] transition-all duration-100 group-hover/subLink:opacity-100 group-hover/subLink:translate-x-0"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none"><path fill="#000" d="m13.854 8.354-4.5 4.5a.5.5 0 0 1-.708-.708L12.293 8.5H2.5a.5.5 0 1 1 0-1h9.793L8.646 3.854a.5.5 0 1 1 .708-.708l4.5 4.5a.5.5 0 0 1 0 .708"></path></svg></span></div></a></li><li class="w-[15.5rem]"><a href="/telecom"><div class="group/subLink flex items-center w-full py-3 pl-2 pr-4 rounded-md transition-all duration-100 hover:bg-gray-03">
23<img src="/static/63dab93a100161a7a2ebc165d2b4f857/7a974f6476fa0c314f1c6227b9b182912f6f7d2b-20x20.svg" width="20" height="20" loading="lazy" alt="Telecom" class="mr-3"/><p class="mr-2 text-[0.8125rem] leading-6 tracking-[-0.5%] font-light">Telecom</p><span class="inline-block ml-auto opacity-0 translate-x-[-8px] transition-all duration-100 group-hover/subLink:opacity-100 group-hover/subLink:translate-x-0"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none"><path fill="#000" d="m13.854 8.354-4.5 4.5a.5.5 0 0 1-.708-.708L12.293 8.5H2.5a.5.5 0 1 1 0-1h9.793L8.646 3.854a.5.5 0 1 1 .708-.708l4.5 4.5a.5.5 0 0 1 0 .708"></path></svg></span></div></a></li></ul></li><li class="last:mr-0 md:py-7 relative group mr-12"><div class="flex items-center justify-between"><a href="/projects"><p class="font-normal text-[0.9374rem] leading-6 tracking-[-0.5%] hover:underline">Projects</p></a></div></li><li class="last:mr-0 md:py-7 relative group mr-12"><div class="flex items-center justify-between"><a href="/careers"><p class="font-normal text-[0.9374rem] leading-6 tracking-[-0.5%] hover:underline">Career</p></a></div></li><li class="last:mr-0 md:py-7 relative group mr-12"><div class="flex items-center justify-between"><a aria-current="page" class="" href="/blog"><p class="font-normal text-[0.9374rem] leading-6 tracking-[-0.5%] hover:underline">Blog</p></a></div></li><li class="last:mr-0 md:py-7 relative group mr-12"><div class="flex items-center justify-between"><a href="/about-us"><p class="font-normal text-[0.9374rem] leading-6 tracking-[-0.5%] hover:underline">About us</p></a></div></li></ul><a class="flex items-center justify-center mr-3 lg:mr-0 lg:ml-12 px-5 py-2 lg:py-[14px] lg:px-16 transition-colors duration-200 bg-primary hover:bg-[#000096] rounded-full text-white text-center font-medium text-xs lg:text-sm" id="/*_contact-navigation" href="/contact"><span>Contact</span></a><button aria-label="Menu" class="lg:hidden flex flex-col justify-center items-center w-8 h-8 rounded-full border border-primary"><span class="block h-0.5 w-4 rounded-sm transition-all ease-out bg-primary duration-200 -translate-y-0.5"></span><span class="block h-0.5 w-4 rounded-sm transition-all ease-out bg-primary duration-100 my-0.5 opacity-100"></span><span class="block h-0.5 w-4 rounded-sm transition-all ease-out bg-primary duration-200 translate-y-0.5"></span></button></div></div></nav><div class="lg:hidden z-40 fixed top-[58px] left-0 w-screen h-screen pb-[60px] bg-white border-t-[0.5px] border-[#D6D7E6] transition-transform duration-200 -translate-y-full"><div class="flex flex-col justify-between h-full overflow-y-auto"><ul class="my-8 mx-4"><li class="border-b-[0.5px] border-[#D6D7E6] last:border-none cursor-pointer"><div class="flex items-center justify-between"><span><p class="py-4 text-h4-mobile">Services</p></span><div class="transition-transform duration-200 rotate-0"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#C3C4D8"><path d="m9.558 14.192-6.25-6.25a.625.625 0 0 1 .884-.884L10 12.867l5.808-5.81a.625.625 0 1 1 .884.885l-6.25 6.25a.627.627 0 0 1-.884 0"></path></svg></div></div><ul class="transition-all duration-200 overflow-hidden h-0 mt-0 opacity-0 pointer-events-none "><li class="mb-6"><a href="/product-development"><div class="flex items-center"><img src="/static/8591cb58e676257a635ce8e5ea974d87/e4fdd44aa0b84f73126ddee8e4831df319800b94-20x20.svg" width="20" height="20" loading="lazy" alt="Product Development" class="mr-3"/><p>Product Development</p></div></a></li><li class="mb-6"><a href="/dedicated-development-team"><div class="flex items-center"><img src="/static/512789c4a8cabd667b6c50c839a8ce84/ae460b72d1b2fbd387a676a31fddd4a2368cb776-24x24.svg" width="24" height="24" loading="lazy" alt="Dedicated Team" class="mr-3"/><p>Dedicated Team</p></div></a></li><li class="mb-6"><a href="/amazon-quick-suite"><div class="flex items-center"><img src="/static/1d22a334e236a2cc14e6124635e33d38/5f66d4336f7935bdb866ac1bc8b48d4a64f37caf-20x20.svg" width="20" height="20" loading="lazy" alt="Amazon Quick Suite" class="mr-3"/><p>Amazon Quick Suite</p></div></a></li><li class="mb-6"><a href="/java-development"><div class="flex items-center"><img src="/static/d708942d80d27a7aff340df1368dcfab/59d5a1050d45e8ce10e0fc34c1a11cd5b4c47783-20x20.svg" width="20" height="20" loading="lazy" alt="Java Development" class="mr-3"/><p>Java Development</p></div></a></li><li class="mb-6"><a href="/proof-of-concept-development-services"><div class="flex items-center"><img src="/static/6c4e0331cd28ec9d7b872658bd874ce9/549079f307bcac309c3d177f56b2760da80bdf5e-20x20.svg" width="20" height="20" loading="lazy" alt="PoC Development" class="mr-3"/><p>PoC Development</p></div></a></li><li class="mb-6"><a href="/power-bi-consulting-services"><div class="flex items-center"><img src="/static/e9a7f9d34571917f69bb2845f528cf0d/c76b54df6359b6210b2fffded4637d4e3fca2169-20x20.svg" width="20" height="20" loading="lazy" alt="Power BI" class="mr-3"/><p>Power BI</p></div></a></li></ul></li><li class="border-b-[0.5px] border-[#D6D7E6] last:border-none cursor-pointer"><div class="flex items-center justify-between"><span><p class="py-4 text-h4-mobile">Industries</p></span><div class="transition-transform duration-200 rotate-0"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#C3C4D8"><path d="m9.558 14.192-6.25-6.25a.625.625 0 0 1 .884-.884L10 12.867l5.808-5.81a.625.625 0 1 1 .884.885l-6.25 6.25a.627.627 0 0 1-.884 0"></path></svg></div></div><ul class="transition-all duration-200 overflow-hidden h-0 mt-0 opacity-0 pointer-events-none "><li class="mb-6"><a href="/healthcare"><div class="flex items-center"><img src="/static/fe10164fac465b66420b42044644b515/e1e1236238de7c48faff0d6a356ce9fb9b0d52ed-24x24.svg" width="24" height="24" loading="lazy" alt="Healthcare and MedTech" class="mr-3"/><p>Healthcare and MedTech</p></div></a></li><li class="mb-6"><a href="/fintech"><div class="flex items-center"><img src="/static/2d24c2a037245fd3ceb84ffd8500f74f/4b4b4e9f76f1b59e03ad1c54df0cdc2bfff27102-24x24.svg" width="24" height="24" loading="lazy" alt="Banking and Finance" class="mr-3"/><p>Banking and Finance</p></div></a></li><li class="mb-6"><a href="/real-estate"><div class="flex items-center"><img src="/static/b110d6dbd178db68c1b02c725ecc25c8/75fef94480804a429580ae9bb2c8b8e609493b09-24x24.svg" width="24" height="24" loading="lazy" alt="Real Estate &amp; PropTech" class="mr-3"/><p>Real Estate &amp; PropTech</p></div></a></li><li class="mb-6"><a href="/cybersecurity"><div class="flex items-center"><img src="/static/8279358d7f02b5a08e0dc7382c4bc016/78998bddb690f6114595cac095b2655b457355fc-20x20.svg" width="20" height="20" loading="lazy" alt="Cybersecurity" class="mr-3"/><p>Cybersecurity</p></div></a></li><li class="mb-6"><a href="/e-commerce"><div class="flex items-center"><img src="/static/576202237ab8d65b3dfde5f315bd055d/472e9edd292e6465f65d5f5cda2edc9a2be80330-20x20.svg" width="20" height="20" loading="lazy" alt="E-Commerce" class="mr-3"/><p>E-Commerce</p></div></a></li><li class="mb-6"><a href="/edtech"><div class="flex items-center"><img src="/static/8e7b33a0b176c8915f8e91c7aa6697af/5e08788dcbd84669f5f44a7ce74c08d53ee26081-20x20.svg" width="20" height="20" loading="lazy" alt="EdTech" class="mr-3"/><p>
23EdTech</p></div></a></li><li class="mb-6"><a href="/artificial-intelligence"><div class="flex items-center"><img src="/static/4d5c506199b06a2d6f59f5e95567476d/5fcae0cf9f2e395ad128e5215238da5656e5f5ab-20x20.svg" width="20" height="20" loading="lazy" alt="AI and Machine Learning" class="mr-3"/><p>AI and Machine Learning</p></div></a></li><li class="mb-6"><a href="/telecom"><div class="flex items-center"><img src="/static/63dab93a100161a7a2ebc165d2b4f857/7a974f6476fa0c314f1c6227b9b182912f6f7d2b-20x20.svg" width="20" height="20" loading="lazy" alt="Telecom" class="mr-3"/><p>Telecom</p></div></a></li></ul></li><li class="border-b-[0.5px] border-[#D6D7E6] last:border-none cursor-pointer"><div class="flex items-center justify-between"><a class="flex-1" href="/projects"><p class="py-4 text-h4-mobile">Projects</p></a><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none"><path fill="#C3C4D8" d="m13.854 8.354-4.5 4.5a.5.5 0 0 1-.708-.708L12.293 8.5H2.5a.5.5 0 1 1 0-1h9.793L8.646 3.854a.5.5 0 1 1 .708-.708l4.5 4.5a.5.5 0 0 1 0 .708"></path></svg></div></li><li class="border-b-[0.5px] border-[#D6D7E6] last:border-none cursor-pointer"><div class="flex items-center justify-between"><a class="flex-1" href="/careers"><p class="py-4 text-h4-mobile">Career</p></a><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none"><path fill="#C3C4D8" d="m13.854 8.354-4.5 4.5a.5.5 0 0 1-.708-.708L12.293 8.5H2.5a.5.5 0 1 1 0-1h9.793L8.646 3.854a.5.5 0 1 1 .708-.708l4.5 4.5a.5.5 0 0 1 0 .708"></path></svg></div></li><li class="border-b-[0.5px] border-[#D6D7E6] last:border-none cursor-pointer"><div class="flex items-center justify-between"><a aria-current="page" class="flex-1" href="/blog"><p class="py-4 text-h4-mobile">Blog</p></a><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none"><path fill="#C3C4D8" d="m13.854 8.354-4.5 4.5a.5.5 0 0 1-.708-.708L12.293 8.5H2.5a.5.5 0 1 1 0-1h9.793L8.646 3.854a.5.5 0 1 1 .708-.708l4.5 4.5a.5.5 0 0 1 0 .708"></path></svg></div></li><li class="border-b-[0.5px] border-[#D6D7E6] last:border-none cursor-pointer"><div class="flex items-center justify-between"><a class="flex-1" href="/about-us"><p class="py-4 text-h4-mobile">About us</p></a><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none"><path fill="#C3C4D8" d="m13.854 8.354-4.5 4.5a.5.5 0 0 1-.708-.708L12.293 8.5H2.5a.5.5 0 1 1 0-1h9.793L8.646 3.854a.5.5 0 1 1 .708-.708l4.5 4.5a.5.5 0 0 1 0 .708"></path></svg></div></li></ul></div></div><main><header><div style="background-color:#0000C7"><div class="relative overflow-hidden z-0"><div class="absolute top-0 left-0 -z-10 w-full h-full"><div data-gatsby-image-wrapper="" class="gatsby-image-wrapper w-full h-full"><div aria-hidden="true" style="padding-top:44.45312499999999%"></div><picture><source media="(max-width: 768px)" srcSet="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAnCAIAAACABf9ZAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFZ0lEQVR42k2W509UURDFb2I0FtRYYkOxUyygsSBiFxVEsazIWgBpSgfZRdZFlqqbjQkxxC/GxC9+MfFv8M4ubaMYExP/IH/DIDGZPN7bd8+cmTPn3od79kyam6WyUkpLpbxcrl+Xu3elrU1CIY2ODqmvl2BQ7t2T+/flwQN59Eiqq6WhQW8cfwBcuyY3bugNKzo7FdbTI+GwvHghkYhe+bGxUR4/VgzpIDh5Uhxpjh7Vu7NnpapKnj9XpF0N3NcnL19Kf79GNCrd3coE5PhxcTU1cuqU3vF84YLW09SktLbaaLkSAwN6X1IiBw7IkSNy6ZI4KjlxQpnBQ97aquXV1akQliIWk1evNEDSeW6uHDokhYUqk0MMwMeOabJz57S39nYVDCEpgeCRsqm2pUX7Agzz+fMqsGMdPHfuaM2AnzxRclJYFovaWi2npcU/fCh5eRoHD0p+vjgbCQqxCGQgILdv60gom6XUBTlVNDZ+GxubDodnsrK8gbOzxSHp/0GfMIO5elXr5BEJSReLpb9+/dPXl1692q9bJxs3ypYt4pDB5mGqcoM2VHH6tMrDLNraPMOPx+e+fPkTCs1mZPiMDCEuXvwH7u1VVSgeDfEAmOLiVEfHZGWl7+lJ0U5Xl3/zZjIandy5U9avV+WY+QIYTpxIq4iHhwIBHwxOffz4K5H4MTAwR1JmNjREInUI2SkQ/R2cBAZAKl6YsWiyuFiGh5Px+Gw0OjU4yL3OjwlhEsi6ulQOB7v1SWOBQDIc9p2dnizMk2rr6jy/8JZGysp0lrwCRi0KhpCU2IiRtLam376djURmKipm8vI8tqcRkiIe/sMVGBlm2zZc3Z496hgcwlTRZnx8eng4XVs7XVXlKQpCSti6VS0Bnl5wCzDGiRHcvn2yd6/s2qXXggJfUuIBIDKLGBXabtumb+GAgBGiCFd0JRwYC7KwYvdu2b9fdxiGz8yU7dsVD5hqwaAwQyFIgVKORRRm/ItBFko1WE6OioR4TAi8jYOOhobEwX7rlm7GggLlBGZFGpJWERlRMc/Tp8qMVHAyvJGR+ZMESQlMc/OmbmwAFE/BRUW62zie0BkOKxtaTMHYCT1JgBGobYcbYKxPqTySNBhMlpYmm5o8xjA7EYxWwaSkH4KlpKD4tWtl82btkG1MxlgsNTExOzqa7u1N4f9IxIOkZip3rACJTzgQs7Jk2TJZuVJtCJi8vO3vT05MTIEn3r2bSyS+h0KeLK9fz4PZ60xiwwZZsUI2bdIm8QCGY9Sk6O5OIuz4OP5Jffjw8/Pn3+xwRsA5rWCmCuHSpaqwHeuHDys594AbGpKMZ2wMqm/v33//9OlndbVHTtY4AEuWyPLleqxgYwTnBVUwZ5SvqNA58TtRU+MHB1MjIynE5wA9c0YcnKtWqU/41rABduxQzS5flitXdGPSDhZgYMwZ/QlMQXBI8datWaNIHM/2oBNS8CtgjI2QYBgB82OiBI2gq323GIQDyWCxFA7lhR3D0IJBGB6Rz
23cI+JgQ3BF8LZ/sBh7PRyYdatE0A4/Rk3zFFvIX+BDfsCvsq8OjQiSKpFg8DhhBmSmJ+vGYRxrLNQOCwxQNTTxLTgD7pBFoLqoIWBr4b5mcA7CRcxcwJHIpPHEiGASE9MHMzHLRwUiFgGECy1Pw8Oqoz56q7CgxOMHvb+TD/WVpoz05JOyEhXETG4/Mbw3YsY2C7QmjXRVrbwDBzbtsBDGEioen0PwOcxH5AM+rnEwXYMIT9f4A29s8B5FQOM9lxBIeUw4x2RDEeUmA9UjAhMCgEhuCGQCTIEYWvJChCTQIzGMwEOTNDf0yCq2megmEzGHik5QxlS3Ck5ubKX7euZMkVL3NEAAAAAElFTkSuQmCC"/><img aria-hidden="true" data-placeholder-image="" style="opacity:1;transition:opacity 500ms linear;object-fit:cover" decoding="async" src="data:image/jpeg;base64,/9j/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wgARCAAJABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAQFBgf/xAAWAQEBAQAAAAAAAAAAAAAAAAAEAQf/2gAMAwEAAhADEAAAAYzmC6PoREigGv8A/8QAGRAAAwEBAQAAAAAAAAAAAAAAAgMEATEz/9oACAEBAAEFAk17i1Dti7BmpefZOF6//8QAFxEBAAMAAAAAAAAAAAAAAAAAAAERIf/aAAgBAwEBPwGNU//EABsRAQACAgMAAAAAAAAAAAAAAAECAwAEERKR/9oACAECAQE/AdispO0cjaxAOfc//8QAHxAAAQQCAgMAAAAAAAAAAAAAAgABAxIRIRMxQXLR/9oACAEBAAY/AnxOEoY2E/1RTOzDR8sNt18py4zPrZDVEhUnsv/EAB8QAQACAQMFAAAAAAAAAAAAAAEAETFhocEhQXGB8P/aAAgBAQABPyFbB9ga8eYOXr12EdOAqDfoxYWMV7m8JseZ92hP/9oADAMBAAIAAwAAABCcH//EABgRAQEAAwAAAAAAAAAAAAAAAAEAESEx/9oACAEDAQE/EHw2Dtv/xAAaEQEAAgMBAAAAAAAAAAAAAAABESEAMVFB/9oACAECAQE/ECe5eRUaqC5tiYxKQAeuZ//EAB4QAQACAQQDAAAAAAAAAAAAAAEAESExQXGhUYHw/9oACAEBAAE/EHr4qCUyGp6MPJm0HtBolAgHLjM1IItXU2wvmfZ8k6eO4h//2Q==" alt=""/></picture><picture><source media="(max-width: 768px)" srcSet="/static/b4f608caaf401a5038b0b1810d2d9ffa/25507/68610333211d7d4d796802b08a6e38a790989fdc-768x1493.webp 480w,/static/b4f608caaf401a5038b0b1810d2d9ffa/ace45/68610333211d7d4d796802b08a6e38a790989fdc-768x1493.webp 768w" sizes="(max-width: 768px) 240px, 100vw"/><img data-gatsby-image-ssr="" sizes="(max-width: 768px) 240px, 100vw" data-main-image="" style="object-fit:cover;opacity:0" decoding="async" loading="eager" src="/static/f6ff4ef61251c943aca8022e2ff9200b/35941/c10a122df82c4fbbd931ea91e4d50b3a0d201ee6-3840x1707.webp" srcSet="/static/f6ff4ef61251c943aca8022e2ff9200b/fbc43/c10a122df82c4fbbd931ea91e4d50b3a0d201ee6-3840x1707.webp 1024w,/static/f6ff4ef61251c943aca8022e2ff9200b/62284/c10a122df82c4fbbd931ea91e4d50b3a0d201ee6-3840x1707.webp 1440w,/static/f6ff4ef61251c943aca8022e2ff9200b/ff39f/c10a122df82c4fbbd931ea91e4d50b3a0d201ee6-3840x1707.webp 1920w,/static/f6ff4ef61251c943aca8022e2ff9200b/35941/c10a122df82c4fbbd931ea91e4d50b3a0d201ee6-3840x1707.webp 3840w" alt="BluePes Blog: Insights &amp; Trends"/></picture><noscript><picture><source media="(max-width: 768px)" srcSet="/static/b4f608caaf401a5038b0b1810d2d9ffa/25507/68610333211d7d4d796802b08a6e38a790989fdc-768x1493.webp 480w,/static/b4f608caaf401a5038b0b1810d2d9ffa/ace45/68610333211d7d4d796802b08a6e38a790989fdc-768x1493.webp 768w" sizes="(max-width: 768px) 240px, 100vw"/><img data-gatsby-image-ssr="" sizes="(max-width: 768px) 240px, 100vw" data-main-image="" style="object-fit:cover;opacity:0" decoding="async" loading="eager" src="/static/f6ff4ef61251c943aca8022e2ff9200b/35941/c10a122df82c4fbbd931ea91e4d50b3a0d201ee6-3840x1707.webp" srcSet="/static/f6ff4ef61251c943aca8022e2ff9200b/fbc43/c10a122df82c4fbbd931ea91e4d50b3a0d201ee6-3840x1707.webp 1024w,/static/f6ff4ef61251c943aca8022e2ff9200b/62284/c10a122df82c4fbbd931ea91e4d50b3a0d201ee6-3840x1707.webp 1440w,/static/f6ff4ef61251c943aca8022e2ff9200b/ff39f/c10a122df82c4fbbd931ea91e4d50b3a0d201ee6-3840x1707.webp 1920w,/static/f6ff4ef61251c943aca8022e2ff9200b/35941/c10a122df82c4fbbd931ea91e4d50b3a0d201ee6-3840x1707.webp 3840w" alt="BluePes Blog: Insights &amp; Trends"/></picture></noscript>
23<script type="module">const t="undefined"!=typeof HTMLImageElement&&"loading"in HTMLImageElement.prototype;if(t){const t=document.querySelectorAll("img[data-main-image]");for(let e of t){e.dataset.src&&(e.setAttribute("src",e.dataset.src),e.removeAttribute("data-src")),e.dataset.srcset&&(e.setAttribute("srcset",e.dataset.srcset),e.removeAttribute("data-srcset"));const t=e.parentNode.querySelectorAll("source[data-srcset]");for(let e of t)e.setAttribute("srcset",e.dataset.srcset),e.removeAttribute("data-srcset");e.complete&&(e.style.opacity=1,e.parentNode.parentNode.querySelector("[data-placeholder-image]").style.opacity=0)}}</script>
23</div></div><div class="max-w-screen-xl m-auto px-4 lg:px-14"><nav aria-label="Breadcrumb" class="mt-6 lg:mt-8"><ol class="flex items-center"><li class="flex items-center"><a class="hover:underline text-gray-03" href="/">Home</a><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="mx-1.5 text-gray-03" aria-hidden="true"><path d="m11.354 8.354-5 5a.5.5 0 1 1-.707-.707L10.293 8 5.647 3.354a.5.5 0 0 1 .707-.707l5 5a.5.5 0 0 1 0 .707"></path></svg></li><li class="flex items-center"><span aria-current="page" class="font-semibold line-clamp-1 text-gray-03">Blog</span></li></ol></nav><div class="max-w-xl pt-[19.75rem] lg:pt-[9rem] pb-[7.5rem] lg:pb-[12rem] [&amp;&gt;h1]:text-white"><h1>BluePes Blog: Insights &amp; Trends</h1></div></div></div></div></header><section><div class="max-w-screen-xl m-auto pt-14 pb-24 px-4 lg:pt-20 lg:pb-40 lg:px-14"><div class="grid lg:grid-cols-3 gap-14 lg:gap-x-10 lg:gap-y-20"><a href="/blog/ai-testing-edtech"><div data-gatsby-image-wrapper="" class="gatsby-image-wrapper gatsby-image-wrapper-constrained w-full mb-6 lg:mb-4"><div style="max-width:976px;display:block"><img alt="" role="presentation" aria-hidden="true" src="data:image/svg+xml;charset=utf-8,%3Csvg%20height=&#x27;732&#x27;%20width=&#x27;976&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20version=&#x27;1.1&#x27;%3E%3C/svg%3E" style="max-width:100%;display:block;position:static"/></div><img aria-hidden="true" data-placeholder-image="" style="opacity:1;transition:opacity 500ms linear" decoding="async" src="data:image/jpeg;base64,/9j/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wgARCAAPABQDASIAAhEBAxEB/8QAGAAAAgMAAAAAAAAAAAAAAAAAAAgGBwn/xAAWAQEBAQAAAAAAAAAAAAAAAAAGBAj/2gAMAwEAAhADEAAAAXgUe6YwtgQs0MNBl//EABoQAAMBAQEBAAAAAAAAAAAAAAQFBwYBAgP/2gAIAQEAAQUCzfwaEKabU6Ak8sxqiV3JMqRrFOhjBjc0zPzs/v8A/8QAIhEAAQMDAwUAAAAAAAAAAAAAAQIDEgQRUQAFMRMhQUJh/9oACAEDAQE/AWxVlpaTIEN2bUtYkTEWUqCyO3tk6WzvMz093eh4u5S/M09+cknJPJ//xAAhEQACAgEEAgMAAAAAAAAAAAACAwEEEgUGERMHFAAiMf/aAAgBAgEBPwG7f0ZmoqsdFWUuu99yrSpJTXWs3ETa9YW0xIAmMegQKRUv6c8xHFDefh31Ee/4+rLuYz3hV2zWfXAsp4FTn66prRgcYzNayKeZwH8+f//EACMQAAIDAAICAgIDAAAAAAAAAAIDAQQFEhMGESEiABQVJDP/2gAIAQEABj8CoD5NqaU7Zpq/yHSzpH980Qx3FYsIB/04u656e/s9REdcDvVfF6DBpZNmmkvJljRsmgeKW3AsUH0yEDJN7OlJD9olxQMNlbPVHR1/NLtO1rZ1bShTterRZKLMs62HVqorKVJcZ+vEj+Pucz8DlaNDx2tm1ev+zo7XkFA+1vUIRdqBmUb90SZ7kpRYEQ4lMFAnMSDN3b8rrgfcy5fy8zOv18O2ZAgDK4ixf0JuFK61dZGVJclCVfSOoONc9jObq20VE1YtaR7V9kJT761IY3dX01A5F0VgUpaomfSxkp/P/8QAGRABAAMBAQAAAAAAAAAAAAAAAQARITFh/9oACAEBAAE/IamPl8bV4eHnThDrPKvqdWf7TTM6zwRD5tgVlVq7CE0nlCxhIxvxm8QiQnZGUhWPV2iejd4//9oADAMBAAIAAwAAABA/7//EABgRAQEBAQEAAAAAAAAAAAAAAAERITEA/9oACAEDAQE/ECNrNJXZqESHSQReoEiaTE9IhgAEX4//xAAWEQEBAQAAAAAAAAAAAAAAAAABEQD/2gAIAQIBAT8QpMySA0HZMA2NrmzKIVlThyUEP//EABcQAQEBAQAAAAAAAAAAAAAAAAEAIRH/2gAIAQEAAT8QSRcAnjI7JxMYOUi1Jkzw7227r43GMIUjxftVbKkIXwQm2INWZDCH+v8AWzO2WjHcDgs6pf/Z" alt=""/><img data-gatsby-image-ssr="" data-main-image="" style="opacity:0" sizes="(min-width: 720px) 720px, 100vw" decoding="async" loading="lazy" data-src="/static/02e4d70c2528b494266d0ddf94c7364d/93bdb/242b0702709a96e9ea1535cf09ab550359364947-720x540.webp" data-srcset="/static/02e4d70c2528b494266d0ddf94c7364d/2827d/242b0702709a96e9ea1535cf09ab550359364947-720x540.webp 375w,/static/02e4d70c2528b494266d0ddf94c7364d/93bdb/242b0702709a96e9ea1535cf09ab550359364947-720x540.webp 720w" alt="AI testing in EdTech: how to catch regressions before launch"/><noscript><img data-gatsby-image-ssr="" data-main-image="" style="opacity:0" sizes="(min-width: 720px) 720px, 100vw" decoding="async" loading="lazy" src="/static/02e4d70c2528b494266d0ddf94c7364d/93bdb/242b0702709a96e9ea1535cf09ab550359364947-720x540.webp" srcSet="/static/02e4d70c2528b494266d0ddf94c7364d/2827d/242b0702709a96e9ea1535cf09ab550359364947-720x540.webp 375w,/static/02e4d70c2528b494266d0ddf94c7364d/93bdb/242b0702709a96e9ea1535cf09ab550359364947-720x540.webp 720w" alt="AI testing in EdTech: how to catch regressions before launch"/></noscript>
23<script type="module">const t="undefined"!=typeof HTMLImageElement&&"loading"in HTMLImageElement.prototype;if(t){const t=document.querySelectorAll("img[data-main-image]");for(let e of t){e.dataset.src&&(e.setAttribute("src",e.dataset.src),e.removeAttribute("data-src")),e.dataset.srcset&&(e.setAttribute("srcset",e.dataset.srcset),e.removeAttribute("data-srcset"));const t=e.parentNode.querySelectorAll("source[data-srcset]");for(let e of t)e.setAttribute("srcset",e.dataset.srcset),e.removeAttribute("data-srcset");e.complete&&(e.style.opacity=1,e.parentNode.parentNode.querySelector("[data-placeholder-image]").style.opacity=0)}}</script>
23</div><h2 class="mb-2 text-gray-01 text-h4-mobile line-clamp-2">AI testing in EdTech: how to catch regressions before launch</h2><p class="mb-6 lg:mb-5 line-clamp-1">The prompt change fixed the support assistant’s bad answer on Tuesday; by Friday, the same release had broken citation accuracy in cases nobody retested. AI testing in EdTech has to catch that kind of regression before users discover it. A conventional test suite can confirm that APIs return 200 responses and schemas remain valid. The generated answer can still become less accurate, less complete, or less grounded after a model, prompt, retrieval, or data-source change.</p><ul class="flex items-center flex-wrap gap-y-1"><li class="mr-1 pt-1 pb-[6px] px-3 text-[0.8125rem] leading-4 bg-gray-03 rounded-full">Oct 02, 2026</li><li class="pt-1 pb-[6px] px-3 text-[0.8125rem] leading-4 bg-gray-03 rounded-full">16 min</li></ul></a><a href="/blog/rag-wrong-answers-retrieval"><div data-gatsby-image-wrapper="" class="gatsby-image-wrapper gatsby-image-wrapper-constrained w-full mb-6 lg:mb-4"><div style="max-width:976px;display:block"><img alt="" role="presentation" aria-hidden="true" src="data:image/svg+xml;charset=utf-8,%3Csvg%20height=&#x27;732&#x27;%20width=&#x27;976&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20version=&#x27;1.1&#x27;%3E%3C/svg%3E" style="max-width:100%;display:block;position:static"/></div><img aria-hidden="true" data-placeholder-image="" style="opacity:1;transition:opacity 500ms linear" decoding="async" src="data:image/jpeg;base64,/9j/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wgARCAAPABQDASIAAhEBAxEB/8QAGAAAAgMAAAAAAAAAAAAAAAAAAAkGCAr/xAAXAQADAQAAAAAAAAAAAAAAAAADBQYH/9oADAMBAAIQAxAAAAGdsHo4xusFneGTm0LP/8QAGhAAAgMBAQAAAAAAAAAAAAAABQYDBAcBAv/aAAgBAQABBQLOOTzFRNu0WCarmF5aZh8REa8ex8EYxpx5jZyX/8QAIREAAgEDAwUAAAAAAAAAAAAAAQIRAxIjEyFRAAQFMUH/2gAIAQMBAT8BoAZ1c1C+wDDHSDNY11Nd5GkWDWwdc3zAKl/BdmzFsiyZi4nj6STz7PX/xAAgEQADAQEAAgEFAAAAAAAAAAACAwQBBQARBgcIEhQh/9oACAECAQE/AfklK9Dg2Sx8tUj59dMk3q6XXwYqnRtT8gewcaRbXKW86d3vB4Owzj7D8T85v3W/UiCCSI85FezJFP7DIkpJmB/B9qmUpC8EfQCClgAiOZg55//EACMQAAIDAAEEAwADAAAAAAAAAAMEAQIFEwYREhQAByIjMUL/2gAIAQEABj8CNtfX6+Hj+zoCQ+wbO/oDaY3VTZzOCkiVsCLpKutwxNvXGcnYs0iazMk0Ety7DDecxZGfXWiqxT8g1mjJn4SSVctJOEJmRVKGsQSszby+DBXS3eqGNLMX139VhDyNd5thyhh3vQ7HnNYBS/lcs2mCR/jw+dEu9JQnGLssNA6iy11grKqoWLlqneNywhfTf91U0pH9cp8/wLwC42PIl85FZdYUjgQQD5Vlhfycsd/TIA9RRfv3gJIt+piPzNo+VclvEzRLLVSWDnau2ehBQdhuzB7auewzVkjDh4sOpyBqKguOf7rH/8QAGRABAQEAAwAAAAAAAAAAAAAAAQARITFB/9oACAEBAAE/IR6WqCzOf2Jt3EESh4IphP8AwGKBZZ3mD2FAcjGtzUvdvHwhIearMv10E95bSU5QAxppccntf//aAAwDAQACAAMAAAAQBB//xAAXEQEBAQEAAAAAAAAAAAAAAAABESEA/9oACAEDAQE/EDAuiaA4BVq2nTi+DRIVrUXSo1dc7//EABcRAQADAAAAAAAAAAAAAAAAAAEAESH/2gAIAQIBAT8QS0AttcsIKST5ILS6pTsDVQZ//8QAFxABAQEBAAAAAAAAAAAAAAAAAQARMf/aAAgBAQABPxCjp+j1VrlhoDfxw6esSaZIywZgR27emzzcn1ZmXle4IFHG6yh8M9MmKS9FcfxgqLm4f//Z" alt=""/><img data-gatsby-image-ssr="" data-main-image="" style="opacity:0" sizes="(min-width: 720px) 720px, 100vw" decoding="async" loading="lazy" data-src="/static/aa1be615cb3b2eed8cf11afb2abfa96a/93bdb/a330f561c0fa86e912d0b9fe1f30f26332f9f74d-720x540.webp" data-srcset="/static/aa1be615cb3b2eed8cf11afb2abfa96a/2827d/a330f561c0fa86e912d0b9fe1f30f26332f9f74d-720x540.webp 375w,/static/aa1be615cb3b2eed8cf11afb2abfa96a/93bdb/a330f561c0fa86e912d0b9fe1f30f26332f9f74d-720x540.webp 720w" alt="Confident, wrong answers: fixing retrieval before you blame the model"/><noscript><img data-gatsby-image-ssr="" data-main-image="" style="opacity:0" sizes="(min-width: 720px) 720px, 100vw" decoding="async" loading="lazy" src="/static/aa1be615cb3b2eed8cf11afb2abfa96a/93bdb/a330f561c0fa86e912d0b9fe1f30f26332f9f74d-720x540.webp" srcSet="/static/aa1be615cb3b2eed8cf11afb2abfa96a/2827d/a330f561c0fa86e912d0b9fe1f30f26332f9f74d-720x540.webp 375w,/static/aa1be615cb3b2eed8cf11afb2abfa96a/93bdb/a330f561c0fa86e912d0b9fe1f30f26332f9f74d-720x540.webp 720w" alt="Confident, wrong answers: fixing retrieval before you blame the model"/></noscript>
23<script type="module">const t="undefined"!=typeof HTMLImageElement&&"loading"in HTMLImageElement.prototype;if(t){const t=document.querySelectorAll("img[data-main-image]");for(let e of t){e.dataset.src&&(e.setAttribute("src",e.dataset.src),e.removeAttribute("data-src")),e.dataset.srcset&&(e.setAttribute("srcset",e.dataset.srcset),e.removeAttribute("data-srcset"));const t=e.parentNode.querySelectorAll("source[data-srcset]");for(let e of t)e.setAttribute("srcset",e.dataset.srcset),e.removeAttribute("data-srcset");e.complete&&(e.style.opacity=1,e.parentNode.parentNode.querySelector("[data-placeholder-image]").style.opacity=0)}}</script>
23</div><h2 class="mb-2 text-gray-01 text-h4-mobile line-clamp-2">Confident, wrong answers: fixing retrieval before you blame the model</h2><p class="mb-6 lg:mb-5 line-clamp-1">A wrong answer from an AI assistant would be easy to catch if it looked unsure, and it never does. Three colleagues forward the same screenshot: the internal assistant answered a policy question with complete confidence, and it was wrong. After a few of those, people stop asking it and go back to messaging each other.</p><ul class="flex items-center flex-wrap gap-y-1"><li class="mr-1 pt-1 pb-[6px] px-3 text-[0.8125rem] leading-4 bg-gray-03 rounded-full">Sep 25, 2026</li><li class="pt-1 pb-[6px] px-3 text-[0.8125rem] leading-4 bg-gray-03 rounded-full">16 min</li></ul></a><a href="/blog/edtech-data-architecture"><div data-gatsby-image-wrapper="" class="gatsby-image-wrapper gatsby-image-wrapper-constrained w-full mb-6 lg:mb-4"><div style="max-width:976px;display:block"><img alt="" role="presentation" aria-hidden="true" src="data:image/svg+xml;charset=utf-8,%3Csvg%20height=&#x27;732&#x27;%20width=&#x27;976&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20version=&#x27;1.1&#x27;%3E%3C/svg%3E" style="max-width:100%;display:block;position:static"/></div><img aria-hidden="true" data-placeholder-image="" style="opacity:1;transition:opacity 500ms linear" decoding="async" src="data:image/jpeg;base64,/9j/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wgARCAAPABQDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAABwAD/8QAFwEAAwEAAAAAAAAAAAAAAAAAAQQGCP/aAAwDAQACEAMQAAABajYgUNHT2ccTY//EABcQAAMBAAAAAAAAAAAAAAAAAAUGBwT/2gAIAQEAAQUC0NBKcTqeUSpaSZeS4xm2pvK60qMzpCwjCn9+mbId/8QAJBEAAgECAwkAAAAAAAAAAAAAAQIDBBESEyEABSIjMkFzsdL/2gAIAQMBAT8BqK1HYKlVFq6SJJd+WI3TMRxcI+aGIVS3QG4Th0xbm7rR38UPwPW3/8QAIxEAAQQBAwQDAAAAAAAAAAAABAECAwURBgchAAgVMSIyVP/aAAgBAgEBPwGg231FUiKYRoO6ONcLZ1VnUnChyjFx2Qc6VlnWTsjaZXFUhMUE0xDVSVTXBLFKkEhTJPFdzEnzjO3MRjvqiXeofXr9kvK4y7EjkR3CLjHX/8QAIRAAAgMAAQUBAQEAAAAAAAAAAgQBAwUGABESExQVByL/2gAIAQEABj8C3Nu7cjQ5FeREtG7cwwm1uvCxtjK6lBWQpYxllFQow14RdRUFnpgPAuKN8iJrkODzK65DZzlca6ujji1/oXR012K1xNWtmliHLoO4lbK4Z7DWcCYWrZf8pndV9jJg2xuamWVYy4zFCw1ftT9FdagrkD3YPqizzIALvHTnG+E8fsTHW0c3RaN0KEqExTD/AC0hQu2wIaDXeFmDgQCxSJCwSnxmPzdZrk22zWNtdNtmYl7FU2CHsn9M7pfRSEVVFTHpp9E9wGCHt0Oo3xDf1JLOSopZPcPGOKFwKsKiVUtZrKQKDn3lbNhiUQUR4R1//8QAFhABAQEAAAAAAAAAAAAAAAAAAREA/9oACAEBAAE/IbSHzooD3890H2PmhyS4kBfZWDW7vAdpICno2g1KCSagGJQlSropxq0qpBj6EQuUATcjv//aAAwDAQACAAMAAAAQq8//xAAZEQEBAAMBAAAAAAAAAAAAAAABEQAhMVH/2gAIAQMBAT8QANAQeQ3D0bJEZnDmW9deonlClpXP/8QAFxEBAQEBAAAAAAAAAAAAAAAAAREAIf/aAAgBAgEBPxDf/Ostk9rIKetc1Z8JSwsgpkUH/8QAFhABAQEAAAAAAAAAAAAAAAAAAQAR/9oACAEBAAE/ENpoZFLqmHnvZPTniG8s79U+5waPmP8AEO1ERSY/w5kswmOLiiO6WaIDag4OL4V8sX7R3//Z" alt=""/><img data-gatsby-image-ssr="" data-main-image="" style="opacity:0" sizes="(min-width: 720px) 720px, 100vw" decoding="async" loading="lazy" data-src="/static/1dac
237c6cb0049fea2df3104620c978ff/93bdb/b1841028b6f1c49ad43708eb57ef7bd10770f98a-720x540.webp" data-srcset="/static/1dac7c6cb0049fea2df3104620c978ff/2827d/b1841028b6f1c49ad43708eb57ef7bd10770f98a-720x540.webp 375w,/static/1dac7c6cb0049fea2df3104620c978ff/93bdb/b1841028b6f1c49ad43708eb57ef7bd10770f98a-720x540.webp 720w" alt="EdTech Data Architecture for AI Across Education Systems"/><noscript><img data-gatsby-image-ssr="" data-main-image="" style="opacity:0" sizes="(min-width: 720px) 720px, 100vw" decoding="async" loading="lazy" src="/static/1dac7c6cb0049fea2df3104620c978ff/93bdb/b1841028b6f1c49ad43708eb57ef7bd10770f98a-720x540.webp" srcSet="/static/1dac7c6cb0049fea2df3104620c978ff/2827d/b1841028b6f1c49ad43708eb57ef7bd10770f98a-720x540.webp 375w,/static/1dac7c6cb0049fea2df3104620c978ff/93bdb/b1841028b6f1c49ad43708eb57ef7bd10770f98a-720x540.webp 720w" alt="EdTech Data Architecture for AI Across Education Systems"/></noscript>
23<script type="module">const t="undefined"!=typeof HTMLImageElement&&"loading"in HTMLImageElement.prototype;if(t){const t=document.querySelectorAll("img[data-main-image]");for(let e of t){e.dataset.src&&(e.setAttribute("src",e.dataset.src),e.removeAttribute("data-src")),e.dataset.srcset&&(e.setAttribute("srcset",e.dataset.srcset),e.removeAttribute("data-srcset"));const t=e.parentNode.querySelectorAll("source[data-srcset]");for(let e of t)e.setAttribute("srcset",e.dataset.srcset),e.removeAttribute("data-srcset");e.complete&&(e.style.opacity=1,e.parentNode.parentNode.querySelector("[data-placeholder-image]").style.opacity=0)}}</script>
23</div><h2 class="mb-2 text-gray-01 text-h4-mobile line-clamp-2">EdTech Data Architecture for AI Across Education Systems</h2><p class="mb-6 lg:mb-5 line-clamp-1">The practical question is therefore wider than “How do we connect the SIS to the LMS?” A CTO or product lead needs to decide which system owns each entity, how standards fit the integration surface, how local mappings are versioned, and what the platform should do when sources disagree. Those decisions determine whether AI receives usable context or merely collects more contradictions.</p><ul class="flex items-center flex-wrap gap-y-1"><li class="mr-1 pt-1 pb-[6px] px-3 text-[0.8125rem] leading-4 bg-gray-03 rounded-full">Sep 19, 2026</li><li class="pt-1 pb-[6px] px-3 text-[0.8125rem] leading-4 bg-gray-03 rounded-full">16 min</li></ul></a><a href="/blog/ai-feature-without-rewrite"><div data-gatsby-image-wrapper="" class="gatsby-image-wrapper gatsby-image-wrapper-constrained w-full mb-6 lg:mb-4"><div style="max-width:976px;display:block"><img alt="" role="presentation" aria-hidden="true" src="data:image/svg+xml;charset=utf-8,%3Csvg%20height=&#x27;730.0345224395858&#x27;%20width=&#x27;976&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20version=&#x27;1.1&#x27;%3E%3C/svg%3E" style="max-width:100%;display:block;position:static"/></div><img aria-hidden="true" data-placeholder-image="" style="opacity:1;transition:opacity 500ms linear" decoding="async" src="data:image/jpeg;base64,/9j/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wgARCAAPABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAUIBgf/xAAXAQADAQAAAAAAAAAAAAAAAAAEBQYH/9oADAMBAAIQAxAAAAFdn2NHa3IWicBEof8A/8QAGhAAAgIDAAAAAAAAAAAAAAAABQYDBAECB//aAAgBAQABBQITwRZPLgaVap9DnIwD9EtmPR08uYWoVySr3Nf/xAAiEQACAQIFBQAAAAAAAAAAAAABAgMEEQASEyExFCIyUpH/2gAIAQMBAT8BWihjTNFLBSZPINHqBzYWY2buQC90sGPJZeGqIxJM79fEuYjbTqhbZfWMD4Mf/8QAJBEAAgICAAQHAAAAAAAAAAAAAQIDBAURABITIRQVIjEyQXH/2gAIAQIBAT8Bx+fhumfzHG3szHNWnWmsF3wLUbEvL03LiNi7R6UlWkMZHbRPx6UqbURTIAzALuq2vV7cxsbb9++/H//EACQQAAICAgEEAgMBAAAAAAAAAAIDAQQFERIABhMUJGEhMUOB/9oACAEBAAY/AsNlSyvcVCxkcNQvuFXoXV+SzSU9viSVdbtcyKFq5yf4iN7nqexsuvK3Aq3U4+qQhVQq8UhJVivfIGwtRqVt66YGfOfGRLGJ3UqpCK6F1QhCK6lCpSoNgisAg1wMDx1qB1/vWLpVO579qwNAYTj7261JFQEQhYI9KtJBFWIV4xZabMlzkjOOM9etarNt5VZgt9tKUnHnJIJP5Fpa7W+YkUmH9Ckh2HS2NTeLQcA45NqYgOZFEcFrgf2czv7+uv/EABgQAQEBAQEAAAAAAAAAAAAAAAERIQAx/9oACAEBAAE/IW49beGcN7nSguwP5DMJ0XUffaQIwP8AicBgA1T3gpjpjm4N0CVfXVu8Te55vSckfyGetRa0+Kg7/9oADAMBAAIAAwAAABDs/wD/xAAYEQEBAQEBAAAAAAAAAAAAAAABESExAP/aAAgBAwEBPxAWLpCMemBktUBvjQCN8i4CMoABcIj/AP/EABcRAQEBAQAAAAAAAAAAAAAAAAERACH/2gAIAQIBAT8QBHbKiKQZCQgw4P4ohukS0BK1qhTu/8QAGBABAQADAAAAAAAAAAAAAAAAAREAECH/2gAIAQEAAT8QGY7mnCj7y2DoQMXo/CitZVEjlR1g9d4iDcd9Qy+JLgHSJhRNZIOBij0ju9KzANBkMEbyP//Z" alt=""/><img data-gatsby-image-ssr="" data-main-image="" style="opacity:0" sizes="(min-width: 869px) 869px, 100vw" decoding="async" loading="lazy" data-src="/static/8641f623f053a133d33d5936d8d21a76/a0d39/7c2051ffe1c88212ec900b6ede1a4f595eee7c5a-869x650.webp" data-srcset="/static/8641f623f053a133d33d5936d8d21a76/d9c1d/7c2051ffe1c88212ec900b6ede1a4f595eee7c5a-869x650.webp 375w,/static/8641f623f053a133d33d5936d8d21a76/a0d39/7c2051ffe1c88212ec900b6ede1a4f595eee7c5a-869x650.webp 869w" alt="Adding an AI feature to a live product without a rewrite"/><noscript><img data-gatsby-image-ssr="" data-main-image="" style="opacity:0" sizes="(min-width: 869px) 869px, 100vw" decoding="async" loading="lazy" src="/static/8641f623f053a133d33d5936d8d21a76/a0d39/7c2051ffe1c88212ec900b6ede1a4f595eee7c5a-869x650.webp" srcSet="/static/8641f623f053a133d33d5936d8d21a76/d9c1d/7c2051ffe1c88212ec900b6ede1a4f595eee7c5a-869x650.webp 375w,/static/8641f623f053a133d33d5936d8d21a76/a0d39/7c2051ffe1c88212ec900b6ede1a4f595eee7c5a-869x650.webp 869w" alt="Adding an AI feature to a live product without a rewrite"/></noscript>
23<script type="module">const t="undefined"!=typeof HTMLImageElement&&"loading"in HTMLImageElement.prototype;if(t){const t=document.querySelectorAll("img[data-main-image]");for(let e of t){e.dataset.src&&(e.setAttribute("src",e.dataset.src),e.removeAttribute("data-src")),e.dataset.srcset&&(e.setAttribute("srcset",e.dataset.srcset),e.removeAttribute("data-srcset"));const t=e.parentNode.querySelectorAll("source[data-srcset]");for(let e of t)e.setAttribute("srcset",e.dataset.srcset),e.removeAttribute("data-srcset");e.complete&&(e.style.opacity=1,e.parentNode.parentNode.querySelector("[data-placeholder-image]").style.opacity=0)}}</script>
23</div><h2 class="mb-2 text-gray-01 text-h4-mobile line-clamp-2">Adding an AI feature to a live product without a rewrite</h2><p class="mb-6 lg:mb-5 line-clamp-1">The pattern below is how experienced engineers move an AI feature from demo into production. It also marks where that path tends to break.</p><ul class="flex items-center flex-wrap gap-y-1"><li class="mr-1 pt-1 pb-[6px] px-3 text-[0.8125rem] leading-4 bg-gray-03 rounded-full">Sep 11, 2026</li><li class="pt-1 pb-[6px] px-3 text-[0.8125rem] leading-4 bg-gray-03 rounded-full">16 min</li></ul></a><a href="/blog/ai-document-ingestion"><div data-gatsby-image-wrapper="" class="gatsby-image-wrapper gatsby-image-wrapper-constrained w-full mb-6 lg:mb-4"><div style="max-width:976px;display:block"><img alt="" role="presentation" aria-hidden="true" src="data:image/svg+xml;charset=utf-8,%3Csvg%20height=&#x27;730.0345224395858&#x27;%20width=&#x27;976&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20version=&#x27;1.1&#x27;%3E%3C/svg%3E" style="max-width:100%;display:block;position:static"/></div><img aria-hidden="true" data-placeholder-image="" style="opacity:1;transition:opacity 500ms linear" decoding="async" src="data:image/jpeg;base64,/9j/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wgARCAAPABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAUHCAn/xAAWAQEBAQAAAAAAAAAAAAAAAAAFAQf/2gAMAwEAAhADEAAAAdCcYqPadRCbDoRv/8QAGxAAAQQDAAAAAAAAAAAAAAAABAECBQYDBwj/2gAIAQEAAQUCs0aLb8czqw0cNOQbBjbG7Fu5pDDY9K4nWxrk/8QAIREAAgECBgMAAAAAAAAAAAAAAQIDERIABCEiMYEyQUL/2gAIAQMBAT8BzQm2ukiJKZFDk/SVXm0UuIuB0B496gzR18Z+ozTrZj//xAAjEQACAQMDBAMAAAAAAAAAAAABAgMEBREGEhMAISMxMlFx/9oACAECAQE/AbBJbOVlqKWpnp4oWkp0DYRZ9rdt0pLiNZeBlUySBvIDhcKyaN1OUUgWYAgEBrhblYevkDOCD95A/Ov/xAAkEAACAgEDBAMBAQAAAAAAAAACAwEEBRESEwAGFCEiJDFSc//aAAgBAQAGPwJEWqKcJ3ejGBZV9sLFG8cvvBPb3nSqv5l5KqFm2Jgn6a4ncRVj3dYHIJy+NvKz2THFwyqLzrU71uaZV0MfpvcWy4yX8CChDKNpWplx7hiz3r28tsju2qxuUcGk/kwxhVynX/Ieql9HcdPy6pNNXPjeTx3uXZU6J312AZCq00RKIIY5dRn49dv18jct3zw9ssmpSeJKSyNdsPCzHLi5aURC+ME2HmtauQRH56dRvwkhP8/Vb6/fRAFaNPf5xRp1/8QAGxABAQEBAAMBAAAAAAAAAAAAAREhADFhcYH/2gAIAQEAAT8hsdVgs3SgYx0ifL2RnTVlrtfh/sKoyYSy7hPw3ZfyMhVv3dunO2ey/lVciZHHI+Sifg9Ng+4k/9oADAMBAAIAAwAAABDrD//EABgRAQEBAQEAAAAAAAAAAAAAAAERMSEA/9oACAEDAQE/EJArAKE0g0sCFj4VqvdWs1VNkXmOJ//EABgRAQEAAwAAAAAAAAAAAAAAAAERACEx/9oACAECAQE/EEL6P3kIYQJocwcgIRIgHECED0bH/8QAGBABAQEBAQAAAAAAAAAAAAAAAREAITH/2gAIAQEAAT8QZ3Q9IlQMAHLG6Xzb91bwv4piBToEBiMkJaZ7ltZumHd8KDVtd7Y7+ONpGTzUAGX0VI4kgqM//9k=" alt=""/><img data-gatsby-image-ssr="" data-main-image="" style="opacity:0" sizes="(min-width: 869px) 869px, 100vw" decoding="async" loading="lazy" data-src="/static/31542c1c25ad919ec7183701ce92fcad/a0d39/b40d25419e3ddb67ce62ee7262d261bf180b5e73-869x650.webp" data-srcset="/static/31542c1c25ad919ec7183701ce92fcad/d9c1d/b40d25419e3ddb67ce62ee7262d261bf180b5e73-869x650.webp 375w,/static/31542c1c25ad919ec7183701ce92fcad/a0d39/b40d25419e3ddb67ce62ee7262d261bf180b5e73-869x650.webp 869w" alt="AI document ingestion in EdTech: what breaks first"/><noscript><img data-gatsby-image-ssr="" data-main-image="" style="opacity:0" sizes="(min-width: 869px) 869px, 100vw" decoding="async" loading="lazy" src="/static/31542c1c25ad919ec7183701ce92fcad/a0d39/b40d25419e3ddb67ce62ee7262d261bf180b5e73-869x650.webp" srcSet="/static/31542c1c25ad919ec7183701ce92fcad/d9c1d/b40d25419e3ddb67ce62ee7262d261bf180b5e73-869x650.webp 375w,/static/31542c1c25ad919ec7183701ce92fcad/a0d39/b40d25419e3ddb67ce62ee7262d261bf180b5e73-869x650.webp 869w" alt="AI document ingestion in EdTech: what breaks first"/></noscript>
23<script type="module">const t="undefined"!=typeof HTMLImageElement&&"loading"in HTMLImageElement.prototype;if(t){const t=document.querySelectorAll("img[data-main-image]");for(let e of t){e.dataset.src&&(e.setAttribute("src",e.dataset.src),e.removeAttribute("data-src")),e.dataset.srcset&&(e.setAttribute("srcset",e.dataset.srcset),e.removeAttribute("data-srcset"));const t=e.parentNode.querySelectorAll("source[data-srcset]");for(let e of t)e.setAttribute("srcset",e.dataset.srcset),e.removeAttribute("data-srcset");e.complete&&(e.style.opacity=1,e.parentNode.parentNode.querySelector("[data-placeholder-image]").style.opacity=0)}}</script>
23</div><h2 class="mb-2 text-gray-01 text-h4-mobile line-clamp-2">AI document ingestion in EdTech: what breaks first</h2><p class="mb-6 lg:mb-5 line-clamp-1">Education software receives institutional policies, faculty handbooks, admissions records, support knowledge, assessment material, administrative forms, and user-uploaded files. The key engineering questions are where structure can be lost, which failures should stop processing, and which checks belong in deterministic code before an LLM is called. Those decisions determine whether the feature remains debuggable when clean demo files give way to real inputs.</p><ul class="flex items-center flex-wrap gap-y-1"><li class="mr-1 pt-1 pb-[6px] px-3 text-[0.8125rem] leading-4 bg-gray-03 rounded-full">Sep 04, 2026</li><li class="pt-1 pb-[6px] px-3 text-[0.8125rem] leading-4 bg-gray-03 rounded-full">16 min</li></ul></a><a href="/blog/flutter-delivery-driver-app"><div data-gatsby-image-wrapper="" class="gatsby-image-wrapper gatsby-image-wrapper-constrained w-full mb-6 lg:mb-4"><div style="max-width:976px;display:block"><img alt="" role="presentation" aria-hidden="true" src="data:image/svg+xml;charset=utf-8,%3Csvg%20height=&#x27;730.0345224395858&#x27;%20width=&#x27;976&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20version=&#x27;1.1&#x27;%3E%3C/svg%3E" style="max-width:100%;display:block;position:static"/></div><img aria-hidden="true" data-placeholder-image="" style="opacity:1;transition:opacity 500ms linear" decoding="async" src="data:image/jpeg;base64,/9j/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wgARCAAPABQDASIAAhEBAxEB/8QAGQAAAgMBAAAAAAAAAAAAAAAAAAYDBQcJ/8QAFgEBAQEAAAAAAAAAAAAAAAAAAwUG/9oADAMBAAIQAxAAAAHhSxRavvY1aLww/wD/xAAaEAADAAMBAAAAAAAAAAAAAAACAwQBBQYA/9oACAEBAAEFApomuWCXT+OzjcpnNQy6np5Zl3N0uHf/xAAhEQABBAIABwAAAAAAAAAAAAABAgMREgQhABMiMTJCcf/aAAgBAwEBPwEtqyC6l065iqiSOmAmoWPEzJOyQfaDoYi4EqUIAEJdbroDtZq0fd8f/8QAIBEAAwABBAIDAAAAAAAAAAAAAQIDBAUREhMAIRQiI//aAAgBAgEBPwGmZgwXTziR3EsGAyDw4s2T3F6UeZs3yA0iA
23j7QUow/EPJjSmr6f2UMcENI0czN1zRbgW3XsE87rDhdt+H19evP/8QAJhAAAwACAQMDBAMAAAAAAAAAAQIDBBESBRMhABUiFCQlMTIzQf/aAAgBAQAGPwLc51pV6CUZpNn7lNFuC8QdvxGwgBJXbfoeql8Sv2bhM0FHX6bdOyBkNpuxuu5ijLx56Q6LL6w19s60uXPEROpUHVoUhkZwpU0vhovSt42K0jFUx6UvRWR3azcwFXbXmPkykVPxsn9NEE02DPkf5M/LZXwvrKVrN0k5WOMXNfp+Bht7pJnPdFHti5VkmQEpSBZZvTZnw+IH4+mRl4/DxXIik6bDMOPHtJ4CcD/v71vxof/EABoQAQEAAwEBAAAAAAAAAAAAAAERACExQVH/2gAIAQEAAT8hNrLlIil+dRh8I7cifOfPhKaDqhCH3TH6fDMfbEcQMVM0E8Kr4jnSdr/ODJMZEEAAwZjQAZ1xH//aAAwDAQACAAMAAAAQFx//xAAZEQEBAQADAAAAAAAAAAAAAAABEQAhMVH/2gAIAQMBAT8QSQsxCzBRIgB4kJogRQUCBtV2lvp4d//EABcRAQEBAQAAAAAAAAAAAAAAAAERIQD/2gAIAQIBAT8QF3QOULEA4EPQmMaOx+tgBAHEIH//xAAXEAEBAQEAAAAAAAAAAAAAAAABEQAh/9oACAEBAAE/EA/uBlJuuaiTZG943BOI511tNWTJE6L6v1Cdd4qGPEosKAHWzUs5MfNCgOppNJzQ6CfuN4Of/9k=" alt=""/><img data-gatsby-image-ssr="" data-main-image="" style="opacity:0" sizes="(min-width: 869px) 869px, 100vw" decoding="async" loading="lazy" data-src="/static/9e6287b980e9054f3c7d977757eb0483/a0d39/aeda6cd36108f3e04b3e609eae30fd9861e02885-869x650.webp" data-srcset="/static/9e6287b980e9054f3c7d977757eb0483/d9c1d/aeda6cd36108f3e04b3e609eae30fd9861e02885-869x650.webp 375w,/static/9e6287b980e9054f3c7d977757eb0483/a0d39/aeda6cd36108f3e04b3e609eae30fd9861e02885-869x650.webp 869w" alt="Flutter delivery driver app: an architecture walkthrough"/><noscript><img data-gatsby-image-ssr="" data-main-image="" style="opacity:0" sizes="(min-width: 869px) 869px, 100vw" decoding="async" loading="lazy" src="/static/9e6287b980e9054f3c7d977757eb0483/a0d39/aeda6cd36108f3e04b3e609eae30fd9861e02885-869x650.webp" srcSet="/static/9e6287b980e9054f3c7d977757eb0483/d9c1d/aeda6cd36108f3e04b3e609eae30fd9861e02885-869x650.webp 375w,/static/9e6287b980e9054f3c7d977757eb0483/a0d39/aeda6cd36108f3e04b3e609eae30fd9861e02885-869x650.webp 869w" alt="Flutter delivery driver app: an architecture walkthrough"/></noscript>
23<script type="module">const t="undefined"!=typeof HTMLImageElement&&"loading"in HTMLImageElement.prototype;if(t){const t=document.querySelectorAll("img[data-main-image]");for(let e of t){e.dataset.src&&(e.setAttribute("src",e.dataset.src),e.removeAttribute("data-src")),e.dataset.srcset&&(e.setAttribute("srcset",e.dataset.srcset),e.removeAttribute("data-srcset"));const t=e.parentNode.querySelectorAll("source[data-srcset]");for(let e of t)e.setAttribute("srcset",e.dataset.srcset),e.removeAttribute("data-srcset");e.complete&&(e.style.opacity=1,e.parentNode.parentNode.querySelector("[data-placeholder-image]").style.opacity=0)}}</script>
23</div><h2 class="mb-2 text-gray-01 text-h4-mobile line-clamp-2">Flutter delivery driver app: an architecture walkthrough</h2><p class="mb-6 lg:mb-5 line-clamp-1">This is an architecture walkthrough for a CTO or lead mobile developer weighing a custom driver app over a licensed one. It covers partial offline support through a local database, deep-linking to Google Maps and Apple Maps instead of an embedded SDK, the clear line between online and offline operations, and the pattern worth the most attention: multi-brand support through runtime module selection. The examples come from a cross-platform driver app we built.</p><ul class="flex items-center flex-wrap gap-y-1"><li class="mr-1 pt-1 pb-[6px] px-3 text-[0.8125rem] leading-4 bg-gray-03 rounded-full">Aug 28, 2026</li><li class="pt-1 pb-[6px] px-3 text-[0.8125rem] leading-4 bg-gray-03 rounded-full">16 min</li></ul></a><a href="/blog/preorder-ecommerce-architecture"><div data-gatsby-image-wrapper="" class="gatsby-image-wrapper gatsby-image-wrapper-constrained w-full mb-6 lg:mb-4"><div style="max-width:976px;display:block"><img alt="" role="presentation" aria-hidden="true" src="data:image/svg+xml;charset=utf-8,%3Csvg%20height=&#x27;730.0345224395858&#x27;%20width=&#x27;976&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20version=&#x27;1.1&#x27;%3E%3C/svg%3E" style="max-width:100%;display:block;position:static"/></div><img aria-hidden="true" data-placeholder-image="" style="opacity:1;transition:opacity 500ms linear" decoding="async" src="data:image/jpeg;base64,/9j/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wgARCAAPABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAgJBAX/xAAWAQEBAQAAAAAAAAAAAAAAAAAEBgf/2gAMAwEAAhADEAAAAVwoJ0ccLoCVlUgLP//EABgQAAMBAQAAAAAAAAAAAAAAAAMEBQYH/9oACAEBAAEFAo8SpREYebJmX+iMgaqBuOLTlZKzsvPZkCf/xAAeEQACAgIDAQEAAAAAAAAAAAABAgMRBBIFISIAcf/aAAgBAwEBPwHHkwIIXWbJWSRwvtYpbW7NFNa8EAON/WykE0dRyHGEA046HQwImF0LpmlBP6QPv//EACIRAAIABgAHAAAAAAAAAAAAAAECAwQFERIhABMiIzFBYf/aAAgBAgEBPwGPI1KYjI8vKmHDW9kaYlzkOkXD8wHuDJkOF1swNtZNTqkjMrJDJVjs1CKp860iFRr0pI+8f//EACUQAAICAgEDAwUAAAAAAAAAAAIDAQQFEhMAESIUFSEjMTNSsf/aAAgBAQAGPwJ1qKVutWQa1zatIKvXknfC5WxuvLEl8d17R/JWdGY9DgbcFYegjXUukp41LvLb8pswu4cN0g92uCQTML8+nLHGKaAMcANWpmrABzFgXi7jmZEY/DMq/SZ+/WTpZVWLQFkjXVV6VeXSha1LJD+9h1UjsCyGMSRB9MyHYZGOqmMH3OsJVrt326hSw1KlkTfqLTaCX6cyAQArixPEXeC2227Ajvlx4Tb43LezY5WlYmI9GBIFUS6RUAa8YRAaxAx1/8QAGRABAQADAQAAAAAAAAAAAAAAAREAITFB/9oACAEBAAE/IXwH4mQkTAG2rzD0ByRqozjNiAUNklTythLJIqtPtN21XHNPdpBKrW9ZcRILCmchAcFm3iAWr//aAAwDAQACAAMAAAAQ9y//xAAYEQEBAQEBAAAAAAAAAAAAAAABESEAMf/aAAgBAwEBPxAkUoIhNLwv2qjyzkujnhA7Yo4oRD//xAAYEQEBAAMAAAAAAAAAAAAAAAABEQAhMf/aAAgBAgEBPxBNPsICuiESAE1mbSFRCWm+TROC7n//xAAYEAEBAQEBAAAAAAAAAAAAAAABABEhMf/aAAgBAQABPxDqhpBSrev1nS/p9iAqKmGTvZyswgetSpM1AMvWClmbT6vfPB+thhm1Bk03yhk03Oam6x//2Q==" alt=""/><img data-gatsby-image-ssr="" data-main-image="" style="opacity:0" sizes="(min-width: 869px) 869px, 100vw" decoding="async" loading="lazy" data-src="/static/22acee5b1e185de8db2a743f97a08838/a0d39/1c9f3fa8aec54fc7b3f1058865381c2e964ce1b8-869x650.webp" data-srcset="/static/22acee5b1e185de8db2a743f97a08838/d9c1d/1c9f3fa8aec54fc7b3f1058865381c2e964ce1b8-869x650.webp 375w,/static/22acee5b1e185de8db2a743f97a08838/a0d39/1c9f3fa8aec54fc7b3f1058865381c2e964ce1b8-869x650.webp 869w" alt="Preorder ecommerce: building deferred-payment order flows"/><noscript><img data-gatsby-image-ssr="" data-main-image="" style="opacity:0" sizes="(min-width: 869px) 869px, 100vw" decoding="async" loading="lazy" src="/static/22acee5b1e185de8db2a743f97a08838/a0d39/1c9f3fa8aec54fc7b3f1058865381c2e964ce1b8-869x650.webp" srcSet="/static/22acee5b1e185de8db2a743f97a08838/d9c1d/1c9f3fa8aec54fc7b3f1058865381c2e964ce1b8-869x650.webp 375w,/static/22acee5b1e185de8db2a743f97a08838/a0d39/1c9f3fa8aec54fc7b3f1058865381c2e964ce1b8-869x650.webp 869w" alt="Preorder ecommerce: building deferred-payment order flows"/></noscript>
23<script type="module">const t="undefined"!=typeof HTMLImageElement&&"loading"in HTMLImageElement.prototype;if(t){const t=document.querySelectorAll("img[data-main-image]");for(let e of t){e.dataset.src&&(e.setAttribute("src",e.dataset.src),e.removeAttribute("data-src")),e.dataset.srcset&&(e.setAttribute("srcset",e.dataset.srcset),e.removeAttribute("data-srcset"));const t=e.parentNode.querySelectorAll("source[data-srcset]");for(let e of t)e.setAttribute("srcset",e.dataset.srcset),e.removeAttribute("data-srcset");e.complete&&(e.style.opacity=1,e.parentNode.parentNode.querySelector("[data-placeholder-image]").style.opacity=0)}}</script>
23</div><h2 class="mb-2 text-gray-01 text-h4-mobile line-clamp-2">Preorder ecommerce: building deferred-payment order flows</h2><p class="mb-6 lg:mb-5 line-clamp-1">This is an engineering walkthrough for teams building a preorder flow for a seasonal product, written for the CTO or product lead who has already decided they need it and wants the implementation depth. It covers the two payment models and the scheduler they depend on, supplier-specific availability dates, the cart rules that keep conflicting future-date items apart, and the timing of inventory commitment. The examples come from a marketplace we built that shipped preorders with deliberate limitations and expanded from there.</p><ul class="flex items-center flex-wrap gap-y-1"><li class="mr-1 pt-1 pb-[6px] px-3 text-[0.8125rem] leading-4 bg-gray-03 rounded-full">Aug 21, 2026</li><li class="pt-1 pb-[6px] px-3 text-[0.8125rem] leading-4 bg-gray-03 rounded-full">16 min</li></ul></a><a href="/blog/group-buying-delivery-marketplaces"><div data-gatsby-image-wrapper="" class="gatsby-image-wrapper gatsby-image-wrapper-constrained w-full mb-6 lg:mb-4"><div style="max-width:976px;display:block"><img alt="" role="presentation" aria-hidden="true" src="data:image/svg+xml;charset=utf-8,%3Csvg%20height=&#x27;730.0345224395858&#x27;%20width=&#x27;976&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20version=&#x27;1.1&#x27;%3E%3C/svg%3E" style="max-width:100%;display:block;position:static"/></div><img aria-hidden="true" data-placeholder-image="" style="opacity:1;transition:opacity 500ms linear" decoding="async" src="data:image/jpeg;base64,/9j/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wgARCAAPABQDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAABwgA/8QAFgEBAQEAAAAAAAAAAAAAAAAABgME/9oADAMBAAIQAxAAAAGzZncpFHOknDevj//EABoQAAIDAQEAAAAAAAAAAAAAAAIFAwQGAQD/2gAIAQEAAQUC1WcS8th2AOFSKfzo53ntCuq58lzelYg//8QAIREAAgEDAwUAAAAAAAAAAAAAAQIDESExAAUiBBITgZH/2gAIAQMBAT8B2p9umjTp543MxGZapHYipSUyqMXC9lS3EVF9SQ+OR04cWIsVYZGCDf561//EAB4RAAICAQUBAAAAAAAAAAAAAAEDAhEhAAQFEiJB/9oACAECAQE/AeUTyG3lPcpYgJBukNS1mRjulcWToSwZdqETcqNR0t4muE/fqIOe8T8+EY1//8QAJBAAAgICAgEEAwEAAAAAAAAAAQIDBBESEyEABSIxQRQkQpH/2gAIAQEABj8CkdmtNJaZrBV7i8C7MSNYuJXPu6A26+NvLH6F2jwSMvFbkSGZ4utbUelieNq7d5fI0KlH1Pys0FuOSKRFZWWeI9MM/wCjPfiR3vTyeNisduCysFqJC5zoRYZTsnu0kjZM/QPXm11PU79a4uU/MswScRjcjTSCZG1YYY96P0HTZB4WWGaJUkMSDCdqqqQQAx1HeoGf5z9+f//EABoQAQEAAwEBAAAAAAAAAAAAAAERACExQZH/2gAIAQEAAT8h7NtMlkRLQqDaqUMV4YAPHQ4ohiaEOZgi+EAOx+4WFF0kNzpEBVVks/S26rUuefdkXhaYjQ8N7U4QZ//aAAwDAQACAAMAAAAQhO//xAAYEQEBAQEBAAAAAAAAAAAAAAABESEAUf/aAAgBAwEBPxAV3BEggpVbKAUEujbdeBCICBsPoc7/xAAYEQEBAQEBAAAAAAAAAAAAAAABESExQf/aAAgBAgEBPxBT4AmsbHAXu5AeE4BApVt143Bimv8A/8QAFxABAQEBAAAAAAAAAAAAAAAAAREhAP/aAAgBAQABPxBd5TLts3KV0HhqSuVUPBIlA5p4oDiUdEE4EmkQF9Rpi3Hlogy6imYi4tazgyfAxKssrUhqAD//2Q==" alt=""/><img data-gatsby-image-ssr="" data-main-image="" style="opacity:0" sizes="(min-width: 869px) 869px, 100vw" decoding="async" loading="lazy" data-src="/static/8d9a3c409d269ac432f8fdf6cdd1a35a/a0d39/c9555f6308d010d29f0d21244d9b9107d24d6047-869x650.webp" data-srcset="/static/8d9a3c409d269ac432f8fdf6cdd1a35a/d9c1d/c9555f6308d010d29f0d21244d9b9107d24d6047-869x650.webp 375w,/static/8d9a3c409d269ac432f8fdf6cdd1a35a/a0d39/c9555f6308d010d29f0d21244d9b9107d24d6047-869x650.webp 869w" alt="Group buying architecture for delivery marketplaces"/><noscript><img data-gatsby-image-ssr="" data-main-image="" style="opacity:0" sizes="(min-width: 869px) 869px, 100vw" decoding="async" loading="lazy" src="/static/8d9a3c409d269ac432f8fdf6cdd1a35a/a0d39/c9555f6308d010d29f0d21244d9b9107d24d6047-869x650.webp" srcSet="/static/8d9a3c409d269ac432f8fdf6cdd1a35a/d9c1d/c9555f6308d010d29f0d21244d9b9107d24d6047-869x650.webp 375w,/static/8d9a3c409d269ac432f8fdf6cdd1a35a/a0d39/c9555f6308d010d29f0d21244d9b9107d24d6047-869x650.webp 869w" alt="Group buying architecture for delivery marketplaces"/></noscript>
23<script type="module">const t="undefined"!=typeof HTMLImageElement&&"loading"in HTMLImageElement.prototype;if(t){const t=document.querySelectorAll("img[data-main-image]");for(let e of t){e.dataset.src&&(e.setAttribute("src",e.dataset.src),e.removeAttribute("data-src")),e.dataset.srcset&&(e.setAttribute("srcset",e.dataset.srcset),e.removeAttribute("data-srcset"));const t=e.parentNode.querySelectorAll("source[data-srcset]");for(let e of t)e.setAttribute("srcset",e.dataset.srcset),e.removeAttribute("data-srcset");e.complete&&(e.style.opacity=1,e.parentNode.parentNode.querySelector("[data-placeholder-image]").style.opacity=0)}}</script>
23</div><h2 class="mb-2 text-gray-01 text-h4-mobile line-clamp-2">Group buying architecture for delivery marketplaces</h2><p class="mb-6 lg:mb-5 line-clamp-1">The interesting part of group buying lives in the order logic underneath the discount. This article covers how the model works in delivery commerce, the radius and discount-tier choices that shape it, and the failure mode that breaks real implementations — open-ended groups that accept members after delivery has been planned. The examples come from a marketplace we built that added group ordering and then had to fix exactly that.</p><ul class="flex items-center flex-wrap gap-y-1"><li class="mr-1 pt-1 pb-[6px] px-3 text-[0.8125rem] leading-4 bg-gray-03 rounded-full">Aug 14, 2026</li><li class="pt-1 pb-[6px] px-3 text-[0.8125rem] leading-4 bg-gray-03 rounded-full">16 min</li></ul></a><a href="/blog/white-label-app-development"><div data-gatsby-image-wrapper="" class="gatsby-image-wrapper gatsby-image-wrapper-constrained w-full mb-6 lg:mb-4"><div style="max-width:976px;display:block"><img alt="" role="presentation" aria-hidden="true" src="data:image/svg+xml;charset=utf-8,%3Csvg%20height=&#x27;730.0345224395858&#x27;%20width=&#x27;976&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20version=&#x27;1.1&#x27;%3E%3C/svg%3E" style="max-width:100%;display:block;position:static"/></div><img aria-hidden="true" data-placeholder-image="" style="opacity:1;transition:opacity 500ms linear" decoding="async" src="data:image/jpeg;base64,/9j/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wgARCAAPABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAYHBQj/xAAWAQEBAQAAAAAAAAAAAAAAAAAFAgT/2gAMAwEAAhADEAAAAer9RaTBW6SRQz3/AP/EABwQAQACAQUAAAAAAAAAAAAAAAQBAxECBQYSFP/aAAgBAQABBQIdDcXBV18sRF5RxKKhY3Hnukaf/8QAHBEAAgICAwAAAAAAAAAAAAAAAQIAESFhccHw/9oACAEDAQE/AbZslQOGboQI2/Vuf//EAB4RAQACAQQDAAAAAAAAAAAAAAECEQMhMTKBABJh/9oACAECAQE/AYmOFes7oeeHFM104zUezRpG6pkW3V27FHRGJEPkQDYK8//EACgQAAIBAwMDAgcAAAAAAAAAAAECAwQREgATIiEyQSNRFCQxYXOBsf/aAAgBAQAGPwLZNRBE8VPJVTWeF0EEZCs7PUbYXFiO25a/toOayPEYZenRN3pdAbS3UsAzW7vB8aAe0jgdXwVMvvgvFf1qS256kLQPwY3jbqy86xjY+QCAfbTKTU2P5Pr05j53pJZRz/mvhjQvUNFHErTK0dLmcByMeVRdyLGSTJdyTJttb9f/xAAZEAEBAQEBAQAAAAAAAAAAAAABESExAFH/2gAIAQEAAT8h5xFfZsDOJmiKQ3tATWtQiQi4AEz+jc6ujhCZy9fPuzZe8Q0neAnxcEWgzkyDQCI/BeRD7UHPjXs2uLz/2gAMAwEAAgADAAAAENjf/8QAGREBAQEAAwAAAAAAAAAAAAAAAREhADFB/9oACAEDAQE/EKlAosTkfOCiJClEdqAQiEVqnRVS5tWs3Xn/xAAYEQEBAQEBAAAAAAAAAAAAAAABESExAP/aAAgBAgEBPxB9KQQMDp+BUUQCK8c+hnvqLqFIRkAh/8QAGBABAQEBAQAAAAAAAAAAAAAAAREAITH/2gAIAQEAAT8QN4Gnds7ZKIyNcvDU6c6ewMzuqBU9RUgELL9qGpPAdYV0IDkWEWVRhxHTCkHGsLihzfd0iNqY1Gf/2Q==" alt=""/><img data-gatsby-image-ssr="" data-main-image="" style="opacity:0" sizes="(min-width: 869px) 869px, 100vw" decoding="async" loading="lazy" data-src="/static/55c2e09bacaf504d8015e5d62c64b394/a0d39/90f850a628e3f6783df86490aaaf3689fbc6d1e7-869x650.webp" data-srcset="/static/55c2e09bacaf504d8015e5d62c64b394/d9c1d/90f850a628e3f6783df86490aaaf3689fbc6d1e7-869x650.webp 375w,/static/55c2e09bacaf504d8015e5d62c64b394/a0d39/90f850a628e3f6783df86490aaaf3689fbc6d1e7-869x650.webp 869w" alt="White label app development: build vs runtime config"/><noscript><img data-gatsby-image-ssr="" data-main-image="" style="opacity:0" sizes="(min-width: 869px) 869px, 100vw" decoding="async" loading="lazy" src="/static/55c2e09bacaf504d8015e5d62c64b394/a0d39/90f850a628e3f6783df86490aaaf3689fbc6d1e7-869x650.webp" srcSet="/static/55c2e09bacaf504d8015e5d62c64b394/d9c1d/90f850a628e3f6783df86490aaaf3689fbc6d1e7-869x650.webp 375w,/static/55c2e09bacaf504d8015e5d62c64b394/a0d39/90f850a628e3f6783df86490aaaf3689fbc6d1e7-869x650.webp 869w" alt="White label app development: build vs runtime config"/></noscript>
23<script type="module">const t="undefined"!=typeof HTMLImageElement&&"loading"in HTMLImageElement.prototype;if(t){const t=document.querySelectorAll("img[data-main-image]");for(let e of t){e.dataset.src&&(e.setAttribute("src",e.dataset.src),e.removeAttribute("data-src")),e.dataset.srcset&&(e.setAttribute("srcset",e.dataset.srcset),e.removeAttribute("data-srcset"));const t=e.parentNode.querySelectorAll("source[data-srcset]");for(let e of t)e.setAttribute("srcset",e.dataset.srcset),e.removeAttribute("data-srcset");e.complete&&(e.style.opacity=1,e.parentNode.parentNode.querySelector("[data-placeholder-image]").style.opacity=0)}}</script>
23</div><h2 class="mb-2 text-gray-01 text-h4-mobile line-clamp-2">White label app development: build vs runtime config</h2><p class="mb-6 lg:mb-5 line-clamp-1">This is the architecture-decision version of the topic, written for the frontend lead or CTO who has to make the call rather than the buyer comparing app builders. It covers when each approach fits, a real project that used build-time configuration for its web apps and runtime selection for its mobile app, and the failure mode that turns a clean build flag into branching logic scattered across the codebase.</p><ul class="flex items-center flex-wrap gap-y-1"><li class="mr-1 pt-1 pb-[6px] px-3 text-[0.8125rem] leading-4 bg-gray-03 rounded-full">Jul 31, 2026</li><li class="pt-1 pb-[6px] px-3 text-[0.8125rem] leading-4 bg-gray-03 rounded-full">16 min</li></ul></a></div><div class="mt-14 lg:mt-28"><span class="hs-general-blog block h-2 mb-10 lg:mb-12"></span><div class="flex items-center justify-center"><nav class="flex items-center rounded-full border border-primary w-max h-10 overflow-hidden"><a aria-current="page" class="flex items-center justify-center w-10 border-r border-r-primary h-full hover:bg-gray-03 pointer-events-none opacity-30" href="/blog"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="none"><path fill="#0000C7" d="m5.807 9.558 6.25-6.25a.624.624 0 1 1 .885.884L7.133 10l5.809 5.808a.625.625 0 1 1-.885.884l-6.25-6.25a.627.627 0 0 1 0-.884"></path></svg></a><a aria-current="page" class="flex items-center justify-center w-8 text-[0.8125rem] leading-4 px-1 text-gray-02 h-full hover:bg-gray-03 font-bold text-white bg-primary pointer-events-none" href="/blog">1</a><a class="flex items-center justify-center w-8 text-[0.8125rem] leading-4 px-1 text-gray-02 h-full hover:bg-gray-03" href="/blog/page/2">2</a><a class="flex items-center justify-center w-8 text-[0.8125rem] leading-4 px-1 text-gray-02 h-full hover:bg-gray-03" href="/blog/page/3">3</a><a class="flex items-center justify-center w-8 text-[0.8125rem] leading-4 px-1 text-gray-02 h-full hover:bg-gray-03" href="/blog/page/4">4</a><a class="flex items-center justify-center w-8 text-[0.8125rem] leading-4 px-1 text-gray-02 h-full hover:bg-gray-03" href="/blog/page/5">5</a><span class="flex items-center justify-center w-8 text-[0.8125rem] px-1 text-gray-02 h-full pointer-events-none">...</span><a class="flex items-center justify-center w-8 text-[0.8125rem] leading-4 px-1 text-gray-02 h-full hover:bg-gray-03" href="/blog/page/11">11</a><a class="flex items-center justify-center w-10 border-l border-l-primary h-full hover:bg-gray-03" href="/blog/page/2"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="none"><path fill="#0000C7" d="m14.193 10.442-6.25 6.25a.625.625 0 1 1-.885-.884L12.867 10 7.058 4.192a.625.625 0 1 1 .885-.884l6.25 6.25a.627.627 0 0 1 0 .884"></path></svg></a></nav></div></div></div></section></main><footer class="mt-auto bg-[#111521]"><div class="max-w-screen-xl m-auto pt-14 pb-10 px-4 lg:pb-6 lg:px-14"><div class="lg:flex lg:justify-between"><a class="max-h-fit" aria-label="Bluepes Logo" href="/"><img src="/static/edc8be1ce4749f8f263ec345f087d53e/ffe725439813c65f334936e1178e6c6897e992fe-144x48.svg" width="144" height="48" loading="lazy" alt="Bluepes Logo"/></a><div class="lg:flex-grow lg:flex lg:justify-between lg:max-w-[68%] xl:max-w-[61%] mt-12 lg:mt-0"><div class="lg:flex-1 flex flex-col justify-between"><div class="mb-10 lg:mb-8 last:lg:mb-0"><p class="mb-4 font-medium text-gray-02">Industries</p><ul><li class="mb-[0.375rem] lg:mb-2 last:mb-0"><a href="/healthcare"><span class="text-[0.8125rem] text-white hover:underline">Healthcare and MedTech</span></a></li><li class="mb-[0.375rem] lg:mb-2 last:mb-0"><a href="/e-commerce"><span class="text-[0.8125rem] text-white hover:underline">E-commerce</span></a></li><li class="mb-[0.375rem] lg:mb-2 last:mb-0"><a href="/fintech"><span class="text-[0.8125rem] text-white hover:underline">Banking and Finance</span></a></li><li class="mb-[0.375rem] lg:mb-2 last:mb-0"><a href="/edtech"><span class="text-[0.8125rem] text-white hover:underline">EdTech</span></a></li><li class="mb-[0.375rem] lg:mb-2 last:mb-0"><a href="/artificial-intelligence"><span class="text-[0.8125rem] text-white hover:underline">AI and Machine Learning</span></a></li><li class="mb-[0.375rem] lg:mb-2 last:mb-0"><a href="/real-estate"><span class="text-[0.8125rem] text-white hover:underline">Real Estate &amp; PropTech</span></a></li><li class="mb-[0.375rem] lg:mb-2 last:mb-0"><a href="/cybersecurity"><span class="text-[0.8125rem] text-white hover:underline">Cybersecurity</span></a></li><li class="mb-[0.375rem] lg:mb-2 last:mb-0"><a href="/telecom"><span class="text-[0.8125rem] text-white hover:underline">Telecom</span></a></li></ul></div><div class="mb-10 lg:mb-8 last:lg:mb-0"><p class="mb-4 font-medium text-gray-02">Technical Expertise</p><ul><li class="mb-[0.375rem] lg:mb-2 last:mb-0"><a href="/roles"><span class="text-[0.8125rem] text-white hover:underline">Roles We Cover</span></a></li><li class="mb-[0.375rem] lg:mb-2 last:mb-0"><a href="/development-services"><span class="text-[0.8125rem] text-white hover:underline">Development Services</span></a></li></ul></div></div><div class="lg:flex-1 flex flex-col justify-between"><div class="mb-10 lg:mb-8 last:lg:mb-0"><p class="mb-4 font-medium text-gray-02">Services</p><ul><li class="mb-[0.375rem] lg:mb-2 last:mb-0"><a href="/product-development"><span class="text-[0.8125rem] text-white hover:underline">Product Development</span></a></li><li class="mb-[0.375rem] lg:mb-2 last:mb-0"><a href="/dedicated-development-team"><span class="text-[0.8125rem] text-white hover:underline">Dedicated Team</span></a></li><li class="mb-[0.375rem] lg:mb-2 last:mb-0"><a href="/amazon-quick-suite"><span class="text-[0.8125rem] text-white hover:underline">Amazon QuickSight</span></a></li><li class="mb-[0.375rem] lg:mb-2 last:mb-0"><a href="/java-development"><span class="text-[0.8125rem] text-white hover:underline">Java Development</span></a></li><li class="mb-[0.375rem] lg:mb-2 last:mb-0"><a href="/proof-of-concept-development-services"><span class="text-[0.8125rem] text-white hover:underline">PoC Development</span></a></li><li class="mb-[0.375rem] lg:mb-2 last:mb-0"><a href="/power-bi-consulting-services"><span class="text-[0.8125rem] text-white hover:underline">Power BI</span></a></li></ul></div><div class="mb-10 lg:mb-8 last:lg:mb-0"><p class="mb-4 font-medium text-gray-02">Overview</p><ul><li class="mb-[0.375rem] lg:mb-2 last:mb-0"><a href="/projects"><span class="text-[0.8125rem] text-white hover:underline">Projects</span></a></li><li class="mb-[0.375rem] lg:mb-2 last:mb-0"><a href="/careers"><span class="text-[0.8125rem] text-white hover:underline">Career</span></a></li><li class="mb-[0.375rem] lg:mb-2 last:mb-0"><a aria-current="page" class="" href="/blog"><span class="text-[0.8125rem] text-white hover:underline">Blog</span></a></li></ul></div></div><div class="lg:flex-1 flex flex-col justify-between"><div><p class="mb-4 font-medium text-gray-02">Contacts</p><ul class="mb-10 lg:mb-0"><li class="mb-[0.375rem] lg:mb-2 last:mb-0"><a href="tel:+34 668 556 442" class="text-[0.8125rem] text-white hover:underline">+34 668 556 442</a></li><li class="mb-[0.375rem] lg:mb-2 last:mb-0">
23<a href="mailto:[email protected]" class="text-[0.8125rem] text-white hover:underline">[email protected]</a></li><li class="mb-[0.375rem] lg:mb-2 last:mb-0"><a href="https://clutch.co/profile/bluepes" class="text-[0.8125rem] text-white hover:underline">Clutch</a></li></ul></div><div><p class="mb-4 font-medium text-gray-02">Our Offices</p><ul class="mb-12 lg:mb-0"><li class="flex mb-[0.375rem] lg:mb-2 last:mb-0"><a href="https://maps.app.goo.gl/cESawFL6oWZnxJSj7" target="_blank"><p class="text-[0.8125rem] text-white hover:underline">Valova 15, Lviv, Ukraine</p></a></li><li class="flex mb-[0.375rem] lg:mb-2 last:mb-0"><a href="https://maps.app.goo.gl/aPQ5qeMwWiZusqtBA" target="_blank"><p class="text-[0.8125rem] text-white hover:underline">Ahtri tn 12, 15551, Harju maakond, Tallinn, Estonia</p></a></li></ul></div></div></div></div><a class="flex items-center justify-center gap-2 w-full sm:max-w-fit mt-2 lg:-mt-16 py-5 px-10 bg-white rounded-full text-center font-medium" id="/*_footer-cta" href="/contact"><span>Let’s have a talk</span><div data-gatsby-image-wrapper="" class="gatsby-image-wrapper gatsby-image-wrapper-constrained"><div style="max-width:24px;display:block"><img alt="" role="presentation" aria-hidden="true" src="data:image/svg+xml;charset=utf-8,%3Csvg%20height=&#x27;24&#x27;%20width=&#x27;24&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20version=&#x27;1.1&#x27;%3E%3C/svg%3E" style="max-width:100%;display:block;position:static"/></div><img aria-hidden="true" data-placeholder-image="" style="opacity:1;transition:opacity 500ms linear" decoding="async" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAt0lEQVQ4jd3UPWoCYRDG8d9+mLXyAGKEQEAQ0gSbHELvIKbQdEFsgjaewZgbWGjtTXIgm7cRlhXdVwIZGKb7zzzMM8N/igw5kliwR7yijbQusIE3fGGMbl1oimd84geTGNACL1gE6HsMaI4+5thWTZqghQ6eLmQPQ2xwwCws7Az6gAE+sKzIVahr7PCLY2jQvCswuVLyKEjeY1om+ZalfNe1TxHTNmmJsW+WeZfTy2I/B7Hf19/FCbSWJKS2bt0ZAAAAAElFTkSuQmCC" alt=""/><img data-gatsby-image-ssr="" data-main-image="" style="opacity:0" sizes="(min-width: 24px) 24px, 100vw" decoding="async" loading="lazy" data-src="https://cdn.sanity.io/images/idgcri5c/production/4f1005f52e28739ee747c4b4047df7aa974e48b9-24x24.svg?w=24&amp;h=24&amp;auto=format" data-srcset="https://cdn.sanity.io/images/idgcri5c/production/4f1005f52e28739ee747c4b4047df7aa974e48b9-24x24.svg?w=24&amp;h=24&amp;auto=format 24w" alt="Call to action end icon"/><noscript><img data-gatsby-image-ssr="" data-main-image="" style="opacity:0" sizes="(min-width: 24px) 24px, 100vw" decoding="async" loading="lazy" src="https://cdn.sanity.io/images/idgcri5c/production/4f1005f52e28739ee747c4b4047df7aa974e48b9-24x24.svg?w=24&amp;h=24&amp;auto=format" srcSet="https://cdn.sanity.io/images/idgcri5c/production/4f1005f52e28739ee747c4b4047df7aa974e48b9-24x24.svg?w=24&amp;h=24&amp;auto=format 24w" alt="Call to action end icon"/></noscript>
23<script type="module">const t="undefined"!=typeof HTMLImageElement&&"loading"in HTMLImageElement.prototype;if(t){const t=document.querySelectorAll("img[data-main-image]");for(let e of t){e.dataset.src&&(e.setAttribute("src",e.dataset.src),e.removeAttribute("data-src")),e.dataset.srcset&&(e.setAttribute("srcset",e.dataset.srcset),e.removeAttribute("data-srcset"));const t=e.parentNode.querySelectorAll("source[data-srcset]");for(let e of t)e.setAttribute("srcset",e.dataset.srcset),e.removeAttribute("data-srcset");e.complete&&(e.style.opacity=1,e.parentNode.parentNode.querySelector("[data-placeholder-image]").style.opacity=0)}}</script>
23</div></a><div class="lg:flex lg:justify-between lg:items-center mt-14 lg:mt-20 pt-5 border-t-[1px] border-[#323337]"><p class="text-[0.75rem] leading-5 font-light text-neutral-300">Copyright © 2026 Bluepes. All rights reserved.<!-- --> <br class="lg:hidden"/><a href="/privacy-policy"><span class="underline">Privacy Policy</span></a></p><ul class="flex items-center mt-6 lg:mt-0"><li class="mr-3 last:mr-0"><a id="linkedin-footer" href="https://www.linkedin.com/company/bluepes/" aria-label="LinkedIn" class="inline-block p-3 rounded-full transition-colors duration-200 bg-[#202125] hover:bg-[#28292C]"><img src="/static/6f77547bb16cdadbc39107369e103820/75faa661b0473fb058de4f28be75f7b601fcc387-20x20.svg" width="20" height="20" loading="lazy" alt="LinkedIn"/></a></li><li class="mr-3 last:mr-0"><a href="https://clutch.co/profile/bluepes" aria-label="Clutch" class="inline-block p-3 rounded-full transition-colors duration-200 bg-[#202125] hover:bg-[#28292C]"><img src="/static/3f29ff67c83168f2d6c8b1dd12afa8d8/346b54b10ba4b3bbc527be369930d215d347a5b0-20x20.svg" width="20" height="20" loading="lazy" alt="Clutch"/></a></li></ul></div></div></footer></div></div><div id="gatsby-announcer" style="position:absolute;top:0;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0" aria-live="assertive" aria-atomic="true"></div></div>
23<script id="gatsby-script-loader">/*<![CDATA[*/window.pagePath="/blog";/*]]>*/</script>
23<!-- slice-start id="_gatsby-scripts-1" -->
24          
24<script
25            id="gatsby-chunk-mapping"
26          >
27            window.___chunkMapping="{\"app\":[\"/app-40e703ed12c4c32cb7e9.js\"],\"component---src-pages-404-tsx\":[\"/component---src-pages-404-tsx-b24abc3fd9e70e1c98f1.js\"],\"component---src-templates-about-us-index-tsx\":[\"/component---src-templates-about-us-index-tsx-ffc0dceea428a35e30d1.js\"],\"component---src-templates-blog-index-tsx\":[\"/component---src-templates-blog-index-tsx-66a0f81b961f83acb456.js\"],\"component---src-templates-blog-post-index-tsx\":[\"/component---src-templates-blog-post-index-tsx-1b4de19de06a57ff7e3d.js\"],\"component---src-templates-careers-index-tsx\":[\"/component---src-templates-careers-index-tsx-aafbf29c5918d18a9a2e.js\"],\"component---src-templates-contact-us-index-tsx\":[\"/component---src-templates-contact-us-index-tsx-35e87552a60796fa02d2.js\"],\"component---src-templates-development-services-development-service-index-tsx\":[\"/component---src-templates-development-services-development-service-index-tsx-be196c8fe27c169ed42c.js\"],\"component---src-templates-development-services-index-tsx\":[\"/component---src-templates-development-services-index-tsx-5022ea4517234f646124.js\"],\"component---src-templates-error-index-tsx\":[\"/component---src-templates-error-index-tsx-e701b72a6ad058dbc82e.js\"],\"component---src-templates-index-tsx\":[\"/component---src-templates-index-tsx-5e7c389df854bfdd0891.js\"],\"component---src-templates-industry-index-tsx\":[\"/component---src-templates-industry-index-tsx-37b2b5fc809e3280b7db.js\"],\"component---src-templates-privacy-policy-index-tsx\":[\"/component---src-templates-privacy-policy-index-tsx-3bb6f95613812df2538f.js\"],\"component---src-templates-projects-index-tsx\":[\"/component---src-templates-projects-index-tsx-add01a82540fe1e5b376.js\"],\"component---src-templates-projects-project-index-tsx\":[\"/component---src-templates-projects-project-index-tsx-5580ddb2c40c854ae945.js\"],\"component---src-templates-roles-index-tsx\":[\"/component---src-templates-roles-index-tsx-2486a51a1d9447a3ac48.js\"],\"component---src-templates-roles-role-index-tsx\":[\"/component---src-templates-roles-role-index-tsx-1a23947a571e89c8f88c.js\"],\"component---src-templates-service-index-tsx\":[\"/component---src-templates-service-index-tsx-3563ee4fb92dc68c69e0.js\"],\"component---src-templates-thank-you-index-tsx\":[\"/component---src-templates-thank-you-index-tsx-3861968514250fc3d3c7.js\"]}";
28          </script>
28
29        
29<script>window.___webpackCompilationHash="444684b638eff16ad707";</script>
29<script src="/webpack-runtime-d320e71971a436e9c2b2.js" async></script>
29<script src="/framework-a7c5fc0b7f466b5bd11f.js" async></script>
29<script src="/app-40e703ed12c4c32cb7e9.js" async></script>
29<!-- slice-end id="_gatsby-scripts-1" --></body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.