PageSourceSearch

https://on-the-spooot.webflow.io/about-us

html on-the-spooot.webflow.io collected 2026-10-03 13:33:14 UTC 204,431 bytes, 1,750 lines download raw bytes

1<!DOCTYPE html><!-- Last Published: Fri Oct 02 2026 15:24:23 GMT+0000 (Coordinated Universal Time) --><html data-wf-domain="on-the-spooot.webflow.io" data-wf-page="673f2c90152fe17906c28a01" data-wf-site="6739bcfd5737b87720acef3b" lang="en"><head><meta charset="utf-8"/><link href="https://cdn.prod.website-files.com" rel="preconnect" crossorigin="anonymous"/><title>About us | On The Spot Development</title><meta content="Meet the team behind On The Spot Development and see how we help startups and tech companies grow their R&amp;D teams in Poland." name="description"/><meta content="About us | On The Spot Development" property="og:title"/><meta content="Meet the team behind On The Spot Development and see how we help startups and tech companies grow their R&amp;D teams in Poland." property="og:description"/><meta content="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6aa94eda758dec347dabfcaf_meta-about.png" property="og:image"/><meta content="About us | On The Spot Development" name="twitter:title"/><meta content="Meet the team behind On The Spot Development and see how we help startups and tech companies grow their R&amp;D teams in Poland." name="twitter:description"/><meta property="og:type" content="website"/><meta content="summary_large_image" name="twitter:card"/><meta content="width=device-width, initial-scale=1" name="viewport"/><meta content="NH39UD3VsA_z0ZUIQq2_AvZ4GCzOUUsTwfW2bkE8wKg" name="google-site-verification"/><link href="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/css/on-the-spooot.webflow.shared.c96ac63bf.min.css" rel="stylesheet" type="text/css" integrity="sha384-yWrGO/erPyeuuuKx/oe9C5hrhKcxrDMdHikigvsOBWLdvR68pNoDNTbn7OB7gnqq" crossorigin="anonymous"/><style>@media (min-width:992px) {html.w-mod-js:not(.w-mod-ix) [data-w-id="ad3cc2e5-4433-4209-a164-bfa711ce4125"] {-webkit-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);}html.w-mod-js:not(.w-mod-ix) [data-w-id="2027f076-c86c-7e7b-f5b1-eb03aef75e5b"] {-webkit-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);}html.w-mod-js:not(.w-mod-ix) [data-w-id="1932bfab-87e3-58f4-fa0a-72bb514fb6ef"] {-webkit-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);}html.w-mod-js:not(.w-mod-ix) [data-w-id="f93321dc-d745-9805-97c6-961416630337"] {-webkit-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);}html.w-mod-js:not(.w-mod-ix) [data-w-id="a1a45218-2b76-9cc9-6d8d-456c68a28106"] {-webkit-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);}}@media (max-width:991px) and (min-width:768px) {html.w-mod-js:not(.w-mod-ix) [data-w-id="ad3cc2e5-4433-4209-a164-bfa711ce4125"] {-webkit-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);}
1html.w-mod-js:not(.w-mod-ix) [data-w-id="2027f076-c86c-7e7b-f5b1-eb03aef75e5b"] {-webkit-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);}html.w-mod-js:not(.w-mod-ix) [data-w-id="1932bfab-87e3-58f4-fa0a-72bb514fb6ef"] {-webkit-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);}html.w-mod-js:not(.w-mod-ix) [data-w-id="f93321dc-d745-9805-97c6-961416630337"] {-webkit-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);}html.w-mod-js:not(.w-mod-ix) [data-w-id="a1a45218-2b76-9cc9-6d8d-456c68a28106"] {-webkit-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);}}@media (max-width:767px) and (min-width:480px) {html.w-mod-js:not(.w-mod-ix) [data-w-id="ad3cc2e5-4433-4209-a164-bfa711ce4125"] {-webkit-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);}html.w-mod-js:not(.w-mod-ix) [data-w-id="2027f076-c86c-7e7b-f5b1-eb03aef75e5b"] {-webkit-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);}html.w-mod-js:not(.w-mod-ix) [data-w-id="1932bfab-87e3-58f4-fa0a-72bb514fb6ef"] {-webkit-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);}html.w-mod-js:not(.w-mod-ix) [data-w-id="f93321dc-d745-9805-97c6-961416630337"] {-webkit-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);}html.w-mod-js:not(.w-mod-ix) [data-w-id="a1a45218-2b76-9cc9-6d8d-456c68a28106"] {-webkit-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);}}</style><style>html.w-mod-js:not(.w-mod-ix3) :is(.about-new_image) {visibility: hidden !important;}</style>
1<link href="https://fonts.googleapis.com" rel="preconnect"/><link href="https://fonts.gstatic.com" rel="preconnect" crossorigin="anonymous"/>
1<script src="https://ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js" type="text/javascript"></script>
1<script type="text/javascript">WebFont.load({  google: {    families: ["Roboto Mono:300,400,500,600,700"]  }});</script>
1<script type="text/javascript">!function(o,c){var n=c.documentElement,t=" w-mod-";n.className+=t+"js",("ontouchstart"in o||o.DocumentTouch&&c instanceof DocumentTouch)&&(n.className+=t+"touch")}(window,document);</script>
1<link href="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67c02c4e340f78c4e1398acb_Favicon.svg" rel="shortcut icon" type="image/x-icon"/><link href="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67c02ce51572e0b7cd7c6673_Favicon.svg" rel="apple-touch-icon"/>
1<script type="application/ld+json">
2  {
3  "@context": "https://schema.org",
4  "@graph": [
5    {
6      "@type": "AboutPage",
7      "@id": "https://onthespotdev.com/about-us#webpage",
8      "url": "https://onthespotdev.com/about-us",
9      "name": "About On The Spot Development",
10      "description": "Who we are: a boutique company building dedicated offshore R&D teams in Poland for startups and tech companies.",
11      "inLanguage": "en",
12      "isPartOf": {
13        "@id": "https://onthespotdev.com/#website"
14      },
15      "about": {
16        "@id": "https://onthespotdev.com/#organization"
17      },
18      "publisher": {
19        "@id": "https://onthespotdev.com/#organization"
20      }
21    },
22    {
23      "@type": "BreadcrumbList",
24      "itemListElement": [
25        {
26          "@type": "ListItem",
27          "position": 1,
28          "name": "Home",
29          "item": "https://onthespotdev.com/"
30        },
31        {
32          "@type": "ListItem",
33          "position": 2,
34          "name": "About us",
35          "item": "https://onthespotdev.com/about-us"
36        }
37      ]
38    }
39  ]
40}
41  </script>
vendor: 86 bytes, line 41
41<script src="https://www.google.com/recaptcha/api.js" type="text/javascript"></script>
41<style>
42    .main {
43        opacity: 0;
44    }
45
46</style>
47
48<style>
49
50html.lenis {
51  height: auto;
52}
53.lenis.lenis-smooth {
54  scroll-behavior: auto;
55}
56.lenis.lenis-smooth [data-lenis-prevent] {
57  overscroll-behavior: contain;
58}
59.lenis.lenis-stopped {
60  overflow: hidden;
61}
62
63</style>
64<script>
65  window.dataLayer = window.dataLayer || [];
66  function gtag(){ dataLayer.push(arguments); }
67
68  gtag('consent', 'default', {
69    ad_storage: 'denied',
70    ad_user_data: 'denied',
71    ad_personalization: 'denied',
72    analytics_storage: 'denied',
73    functionality_storage: 'granted',
74    security_storage: 'granted',
75    wait_for_update: 500
76  });
77
78  (function () {
79    try {
80      var m = document.cookie.match(/(?:^|;\s*)ots_cookie_consent=([^;]+)/);
81      if (!m) return;
82      var c = JSON.parse(decodeURIComponent(m[1]));
83      gtag('consent', 'update', {
84        analytics_storage: c.analytics ? 'granted' : 'denied',
85        ad_storage: c.marketing ? 'granted' : 'denied',
86        ad_user_data: c.marketing ? 'granted' : 'denied',
87        ad_personalization: c.marketing ? 'granted' : 'denied'
88      });
89    } catch (e) {}
90  })();
91</script>
91
92
93<!-- Google Tag Manager -->
94<script>
vendor: 327 bytes, lines 94-98
94(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
95new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
96j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
97'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
98})(window,document,'script','dataLayer','
98GTM-5D4P4QGM
vendor: 3 bytes, line 98
98');
98</script>
98
99<!-- End Google Tag Manager -->
100<script id="mcjs">!function(c,h,i,m,p){m=c.createElement(h),p=c.getElementsByTagName(h)[0],m.async=1,m.src=i,p.parentNode.insertBefore(m,p)}(document,"script","https://chimpstatic.com/mcjs-connected/js/users/aa3015ac9e033d770306d373c/56468349087506f9ee140c489.js");</script>
100
101
102<script type="application/ld+json">
103{
104  "@context": "https://schema.org",
105  "@graph": [
106    {
107      "@type": "Organization",
108      "@id": "https://onthespotdev.com/#organization",
109      "name": "On The Spot Development",
110      "alternateName": "On The Spot",
111      "url": "https://onthespotdev.com/",
112      "logo": {
113        "@type": "ImageObject",
114        "@id": "https://onthespotdev.com/#logo",
115        "url": "https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6739c1eb0f9259696a1869b0_Group%20461.svg",
116        "caption": "On The Spot Development"
117      },
118      "image": { "@id": "https://onthespotdev.com/#logo" },
119      "description": "Boutique software development company that builds and scales dedicated R&D teams in Poland for startups and tech companies, with recruitment, HR, payroll, office and administration included.",
120      "foundingDate": "2016",
121      "email": "[email protected]",
122      "address": {
123        "@type": "PostalAddress",
124        "streetAddress": "12a Montpellier Parade",
125        "addressLocality": "Harrogate",
126        "postalCode": "HG1 2TJ",
127        "addressCountry": "GB"
128      },
129      "location": [
130        {
131          "@type": "Place",
132          "name": "On The Spot Development R&D office",
133          "address": {
134            "@type": "PostalAddress",
135            "addressLocality": "Warsaw",
136            "addressCountry": "PL"
137          }
138        }
139      ],
140      "areaServed": [
141        { "@type": "Country", "name": "United States" },
142        { "@type": "Country", "name": "United Kingdom" },
143        { "@type": "Country", "name": "Israel" }
144      ],
145      "knowsAbout": [
146        "Offshore development center",
147        "Dedicated development teams",
148        "R&D team building in Poland",
149        "Tech recruitment",
150        "Fractional CTO",
151        "Custom software development",
152        "Software development for cybersecurity products",
153        "AI product development"
154      ],
155      "hasOfferCatalog": {
156        "@type": "OfferCatalog",
157        "name": "Services",
158        "itemListElement": [
159          {
160            "@type": "Offer",
161            "itemOffered": {
162              "@type": "Service",
163              "@id": "https://onthespotdev.com/offshore-development-center#service",
164              "name": "Offshore Development Center",
165              "url": "https://onthespotdev.com/offshore-development-center"
166            }
167          },
168          {
169            "@type": "Offer",
170            "itemOffered": {
171              "@type": "Service",
172              "@id": "https://onthespotdev.com/tech-recruitment-services#service",
173              "name": "Tech Recruitment Services",
174              "url": "https://onthespotdev.com/tech-recruitment-services"
175            }
176          },
177          {
178            "@type": "Offer",
179            "itemOffered": {
180              "@type": "Service",
181              "@id": "https://onthespotdev.com/cto-as-a-service#service",
182              "name": "Fractional CTO Services",
183              "url": "https://onthespotdev.com/cto-as-a-service"
184            }
185          },
186          {
187            "@type": "Offer",
188            "itemOffered": {
189              "@type": "Service",
190              "@id": "https://onthespotdev.com/custom-software-development#service",
191              "name": "Custom Software Development",
192              "url": "https://onthespotdev.com/custom-software-development"
193            }
194          },
195                    {
196            "@type": "Offer",
197            "itemOffered": {
198              "@type": "Service",
199              "@id": "https://onthespotdev.com/dedicated-development-team#service",
200              "name": "Dedicated development team",
201              "url": "https://onthespotdev.com/dedicated-development-team"
202            }
203          }
204        ]
205      },
206      "award": [
207        "Clutch Top Staff Augmentation Company 2025",
208        "Clutch Top Unity Developers, Warsaw 2025",
209        "Clutch Top Software Developers, Gaming, Warsaw 2025",
210        "RightFirms Top Service Provider 2025",
211        "DesignRush Top Software Development Companies 2025",
212        "SoftwareWorld Top Rated 2025"
213      ],
214      "sameAs": [
215        "https://www.linkedin.com/company/on-the-spot-dev",
216        "https://clutch.co/profile/spot-development-0",
217        "https://www.youtube.com/@onthespotdev",
218        "https://www.facebook.com/onthespotdev/",
219        "https://www.instagram.com/on.the.spot.daily",
220        "https://t.me/onthespotjob"
221      ]
222    },
223    {
224      "@type": "WebSite",
225      "@id": "https://onthespotdev.com/#website",
226      "url": "https://onthespotdev.com/",
227      "name": "On The Spot Development",
228      "publisher": { "@id": "https://onthespotdev.com/#organization" },
229      "inLanguage": "en"
230    }
231  ]
232}
233</script>
233
234
235<!-- Form-validator (tools.refokus.com) required-field error styling, site-wide.
236     The validator toggles "cc-error"/"cc-valid" on submit/change for every field type, but the
237     site only ever had a rule for ".form-input.error" (a different class name), so invalid state
238     showed nothing: text inputs, textareas, checkboxes and radios all failed silently.
239     This makes that existing invalid state visible, consistently, for every field type. -->
240<style>
241  /* Text-like fields (input, textarea, select) sharing the site's ".form-input" class */
242  .form-input.cc-error {
243    border-color: var(--pink);
244  }
245
246  /* Checkbox: the validator toggles the class on the visible ".w-checkbox-input" itself */
247  .w-checkbox-input.cc-error {
248    border-color: var(--pink);
249    box-shadow: 0 0 0 1px var(--pink);
250  }
251
252  /* Radio: the validator toggles the class on the visually-hidden native <input>, not on the
253     visible ".w-radio-input" proxy, so a plain selector on the input has nothing to color.
254     :has() reaches from the wrapping label into the hidden input to style the visible proxy. */
255  label.w-radio:has(input.cc-error) .w-radio-input {
256    border-color: var(--pink);
257    box-shadow: 0 0 0 1px var(--pink);
258  }
259
260  /* Any select not already covered by .form-input above */
261  select.cc-error {
262    border-color: var(--pink);
263  }
264</style>
265
266<!-- Form-validator: "Email Form 2" component family (custom-software-development, cto-as-a-service,
267     offshore-development-center, tech-recruitment-services) uses ".cta_input"/".cta_input_2" instead
268     of ".form-input" for its text/textarea fields. Unlike ".form-input", these classes have
269     border-width: 0 by default, so setting only border-color renders nothing visible.
270     box-shadow doesn't depend on border-width, so it's used here instead (same fix as checkbox/radio). -->
271<style>
272  .cta_input.cc-error,
273  .cta_input_2.cc-error {
274    box-shadow: 0 0 0 1px var(--pink);
275  }
276</style>
277
278<style>
279    .line-wrap {
280        overflow: hidden;
281    }
282
283</style>
284</head><body><div class="page"><div class="global-css"><div class="w-embed"><style>
285textarea {
286  resize: none;
287}
288a { 
289color: inherit; 
290}
291</style>
292<style>
293body {
294 font-size: 1.1111111111111112vw;
295}
296
297/* Min Font Size */
298@media screen and (max-width:479px) {
299 body {font-size: 5.322222222222223px;}
300}
301[id] { scroll-margin-top: 5em; }
302html { scroll-padding-top: 5em; }
303
304</style>
305<style>
306/*width*/
307.services_tabs_menu::-webkit-scrollbar {
308width:0px;
309}
310
311input::-webkit-outer-spin-button,
312input::-webkit-inner-spin-button {
313    -webkit-appearance: none;
314}
315input[type='number'] {
316    -moz-appearance: textfield;
317}
318
319</style>
320
321<!-- Rich text lists: pink marker only, text inherits colour. Docs: CLAUDE.md -->
322<style>
323.w-richtext ul,
324.w-richtext ol,
325.w-richtext li {
326  color: inherit;
327}
328.w-richtext li::marker {
329  color: var(--pink, #e81c50);
330}
331.rich-text_services ul,
332.rich-text_services ol {
333  font-size: 1.19em;
334  display: flex;
335  flex-direction: column;
336  gap: 0.45em;
337  margin: 0.45em 0;
338  padding-left: 1.1em;
339}
340.rich-text_services-small ul,
341.rich-text_services-small ol {
342  font-size: 1em;
343  display: flex;
344  flex-direction: column;
345  gap: 0.5em;
346  margin: 0.5em 0;
347  padding-left: 1.3em;
348}
349.rich-text_services li,
350.rich-text_services-small li {
351  font-size: 1em;
352  line-height: 1.2;
353}
354@media screen and (max-width: 479px) {
355  .rich-text_services ul,
356  .rich-text_services ol { font-size: 5.28vw; }
357  .rich-text_services-small ul,
358  .rich-text_services-small ol { font-size: 4.44vw; }
359}
360</style>
361
362<!-- Centred intro / outro rich text (classes section-intro, section-outro) -->
363<style>
364.section-intro p,
365.section-outro p {
366  margin: 0;
367  font-size: inherit;
368  line-height: inherit;
369  color: inherit;
370}
371.section-intro > *:first-child,
372.section-outro > *:first-child { margin-top: 0; }
373.section-intro > *:last-child,
374.section-outro > *:last-child { margin-bottom: 0; }
375.section-intro p + p,
376.section-outro p + p { margin-top: 0.5em; }
377.section-intro a,
378.section-outro a {
379  color: inherit;
380  text-decoration: underline;
381  transition: color 0.3s;
382}
383.section-intro a:hover,
384.section-outro a:hover { color: var(--pink, #e81c50); }
385.section-intro ul, .section-intro ol,
386.section-outro ul, .section-outro ol {
387  display: inline-block;
388  text-align: left;
389  color: inherit;
390  font-size: 1em;
391  line-height: inherit;
392  margin: 0.5em 0 0;
393  padding-left: 1.2em;
394}
395.section-intro li,
396.section-outro li { font-size: 1em; line-height: inherit; }
397.section-intro li + li,
398.section-outro li + li { margin-top: 0.35em; }
399</style></div></div><div data-wf--navbar_new--variant="base" class="navbare_simbol"><div class="navbar_dropdown"><div id="w-node-da570d46-7395-2fb5-3f8c-6da829c93574-4a2a350f" class="navbar_dd-links-wrapper"><div class="navbar_links-column"><a href="/offshore-development-center" class="services_dropdown_link w-inline-block"><div class="p cc-27px">Offshore Development Center</div></a><a href="/dedicated-development-team" class="services_dropdown_link w-inline-block"><div class="p cc-27px">Dedicated Development Team</div></a><a href="/tech-recruitment-services" class="services_dropdown_link w-inline-block"><div class="p cc-27px">Tech Recruitment Services</div></a><a href="/custom-software-development" class="services_dropdown_link w-inline-block"><div class="p cc-27px">Custom Software Development</div></a><a href="/cto-as-a-service" class="services_dropdown_link w-inline-block"><div class="p cc-27px">Fractional CTO Services</div></a></div><div class="navbar_links-column"></div></div><div id="w-node-_42b94699-1fa2-5538-6f79-5d7d46a07c02-46a07c02" data-wf--navbar-explore-our-blog--variant="base" class="navbar_dd-articles-wrapper"><div class="navbar_dd-blog-top"><div class="navbar_dd-blog-top-title"><div class="p-small u-text-color-gray-1">Explore our blog</div></div><div class="w-dyn-list"><div role="list" class="navbar_dd-blog-articles w-dyn-items"><div role="listitem" class="navbar_dd-blog-item w-dyn-item"><img loading="lazy" src="https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a6758424802c4ff9bc6d4f5_ODC_cover_01%20(1).png" alt="What is Offshore Development Center" sizes="100vw" srcset="https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a6758424802c4ff9bc6d4f5_ODC_cover_01%20(1)-p-500.png 500w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a6758424802c4ff9bc6d4f5_ODC_cover_01%20(1)-p-800.png 800w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a6758424802c4ff9bc6d4f5_ODC_cover_01%20(1)-p-1080.png 1080w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a6758424802c4ff9bc6d4f5_ODC_cover_01%20(1)-p-1600.png 1600w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a6758424802c4ff9bc6d4f5_ODC_cover_01%20(1).png 1920w" class="navbar_dd-blog-img"/><div class="p text-wrap-2-line">What is an offshore development center: a complete guide</div><a href="/post/what-is-an-offshore-development-center" class="navbar_dd-articles-link w-inline-block"></a></div><div role="listitem" class="navbar_dd-blog-item w-dyn-item"><img loading="lazy" src="https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a427e7fcf4f75b8a24352e5_Cover.png" alt="" sizes="100vw" srcset="https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a427e7fcf4f75b8a24352e5_Cover-p-500.png 500w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a427e7fcf4f75b8a24352e5_Cover-p-800.png 800w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a427e7fcf4f75b8a24352e5_Cover-p-1080.png 1080w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a427e7fcf4f75b8a24352e5_Cover-p-1600.png 1600w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a427e7fcf4f75b8a24352e5_Cover.png 1920w" class="navbar_dd-blog-img"/><div class="p text-wrap-2-line">After prompts and context: the next shift in AI-native engineering</div><a href="/post/ai-native-engineering-techspot-meetup" class="navbar_dd-articles-link w-inline-block"></a></div><div role="listitem" class="navbar_dd-blog-item w-dyn-item"><img loading="lazy" src="https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a05764b8e4f629ba1dbc38a_AI%20impact%20on%20engineering%20roles%20and%20hiring%20practices.png" alt="" sizes="100vw" srcset="https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a05764b8e4f629ba1dbc38a_AI%20impact%20on%20engineering%20roles%20and%20hiring%20practices-p-500.png 500w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a05764b8e4f629ba1dbc38a_AI%20impact%20on%20engineering%20roles%20and%20hiring%20practices-p-800.png 800w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a05764b8e4f629ba1dbc38a_AI%20impact%20on%20engineering%20roles%20and%20hiring%20practices-p-1080.png 1080w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a05764b8e4f629ba1dbc38a_AI%20impact%20on%20engineering%20roles%20and%20hiring%20practices-p-1600.png 1600w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a05764b8e4f629ba1dbc38a_AI%20impact%20on%20engineering%20roles%20and%20hiring%20practices.png 1920w" class="navbar_dd-blog-img"/><div class="p text-wrap-2-line">AI impact on engineering roles and hiring practices</div><a href="/post/ai-impact-on-developers-and-hiring" class="navbar_dd-articles-link w-inline-block"></a></div></div></div></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div class="navbar_dd-blog-bottom"><div class="navbar_dd-blog-image"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6a702cccca872d1b5a3a7add_Tech%20spot.avif" loading="lazy" sizes="(max-width: 3376px) 100v
399w, 3376px" srcset="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6a702cccca872d1b5a3a7add_Tech%20spot-p-500.avif 500w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6a702cccca872d1b5a3a7add_Tech%20spot-p-800.avif 800w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6a702cccca872d1b5a3a7add_Tech%20spot-p-1080.avif 1080w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6a702cccca872d1b5a3a7add_Tech%20spot-p-1600.avif 1600w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6a702cccca872d1b5a3a7add_Tech%20spot-p-2000.avif 2000w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6a702cccca872d1b5a3a7add_Tech%20spot-p-2600.avif 2600w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6a702cccca872d1b5a3a7add_Tech%20spot.avif 3376w" alt="" class="nav_techspot-img"/></div><div class="navbar_dd-art-text-wrap"><h3 class="h3 cc-30px">TechSpot</h3><div class="u-spacer-10"></div><div class="cc-max-300"><p class="p_small">Software architecture events in Poland and online, bringing together engineers and industry experts.</p></div></div><a href="/techspot" class="button2 white-desk-100 w-inline-block"><div class="button_circle white-desk-100-2"><div class="button_text cc-16px white-desk-100-4 cc-button-red white-desk-100-3">join</div></div><div class="button_text cc-16px white-desk-100-4">join</div></a></div></div></div></div></div><div id="w-node-_31beeff8-8682-2b78-414b-aee1177629d4-177629d4" class="navbar_dd-social-wrapper"><div class="u-horizontal-flex cc-gap-10"><a href="https://ru.linkedin.com/company/on-the-spot-dev" target="_blank" class="footer_social_link w-inline-block"><div class="u-icon-18px w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 19" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
400<path fill-rule="evenodd" clip-rule="evenodd" d="M3.375 2.93164C2.75368 2.93164 2.25 3.43532 2.25 4.05664V15.3066C2.25 15.9279 2.75368 16.4316 3.375 16.4316H14.625C15.2463 16.4316 15.75 15.9279 15.75 15.3066V4.05664C15.75 3.43532 15.2463 2.93164 14.625 2.93164H3.375ZM6.39057 5.93368C6.39479 6.65087 5.85796 7.09278 5.22092 7.08962C4.6208 7.08645 4.09768 6.60868 4.10084 5.93474C4.10401 5.30087 4.60498 4.79145 5.25573 4.80622C5.91596 4.82099 6.39479 5.30509 6.39057 5.93368ZM9.20977 8.00296H7.31978H7.31872V14.4228H9.31627V14.2731C9.31627 13.9881 9.31605 13.7031 9.31582 13.4181C9.31522 12.6577 9.31455 11.8965 9.31845 11.1364C9.3195 10.9518 9.3279 10.7599 9.37537 10.5837C9.55357 9.92562 10.1453 9.50059 10.8055 9.60507C11.2295 9.67144 11.51 9.91722 11.6281 10.317C11.701 10.5669 11.7337 10.8358 11.7368 11.0964C11.7454 11.8821 11.7442 12.6678 11.743 13.4535C11.7425 13.7309 11.7421 14.0084 11.7421 14.2857V14.4218H13.746V14.2678C13.746 13.9288 13.7458 13.5899 13.7456 13.251C13.7452 12.4038 13.7448 11.5567 13.747 10.7093C13.7481 10.3264 13.707 9.94887 13.6131 9.57867C13.4729 9.02809 13.1828 8.57247 12.7114 8.24344C12.377 8.00928 12.01 7.85847 11.5997 7.84159C11.553 7.83965 11.5059 7.83711 11.4586 7.83455C11.2488 7.82321 11.0356 7.81169 10.835 7.85214C10.2613 7.9671 9.7572 8.22972 9.37642 8.69269C9.33217 8.74579 9.2889 8.79972 9.22433 8.88019L9.20977 8.89842V8.00296ZM4.26123 14.4249H6.24932V8.00714H4.26123V14.4249Z" fill="currentColor"/>
401</svg></div></a><a href="https://www.youtube.com/@onthespotdev" target="_blank" class="footer_social_link w-inline-block"><div class="u-icon-18px w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 19" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
402<path d="M14.7559 6.82087C14.6876 6.56749 14.5541 6.33642 14.3688 6.15064C14.1834 5.96487 13.9527 5.83089 13.6994 5.76202C12.7605 5.5042 9.00415 5.5 9.00415 5.5C9.00415 5.5 5.24841 5.49581 4.30888 5.74223C4.05581 5.81427 3.82551 5.95015 3.64009 6.13683C3.45467 6.32352 3.32035 6.55473 3.25002 6.80828C3.0024 7.74721 3 9.69464 3 9.69464C3 9.69464 2.9976 11.6517 3.24343 12.581C3.38133 13.0948 3.78605 13.5007 4.30048 13.6392C5.24901 13.8971 8.99516 13.9013 8.99516 13.9013C8.99516 13.9013 12.7515 13.9055 13.6904 13.6596C13.9438 13.5909 14.1747 13.4572 14.3606 13.2718C14.5464 13.0864 14.6806 12.8557 14.7499 12.6026C14.9981 11.6642 14.9999 9.71742 14.9999 9.71742C14.9999 9.71742 15.0119 7.75981 14.7559 6.82087ZM7.8026 11.4988L7.8056 7.90131L10.9276 9.70303L7.8026 11.4988Z" fill="currentColor"/>
403</svg></div></a><a href="https://t.me/onthespotjob" target="_blank" class="footer_social_link w-inline-block"><div class="u-icon-18px w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewB
403ox="0 0 18 19" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
404<path d="M13.325 4.55918L4.46694 8.22481C3.86241 8.48538 3.86591 8.84728 4.35603 9.00866L6.63025 9.76999L11.8921 6.20729C12.1409 6.04484 12.3683 6.13223 12.1814 6.31023L7.91824 10.4391H7.91724L7.91824 10.4396L7.76136 12.9552C7.99118 12.9552 8.0926 12.8421 8.2215 12.7086L9.32614 11.5559L11.6238 13.3772C12.0475 13.6276 12.3518 13.4989 12.4572 12.9563L13.9655 5.32801C14.1199 4.66373 13.7292 4.36295 13.325 4.55918Z" fill="currentColor"/>
405</svg></div></a><a href="https://instagram.com/on.the.spot.daily" target="_blank" class="footer_social_link w-inline-block"><div class="u-icon-18px w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 19" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
406<path d="M8.99961 11.8996C10.3251 11.8996 11.3996 10.8251 11.3996 9.49961C11.3996 8.17413 10.3251 7.09961 8.99961 7.09961C7.67413 7.09961 6.59961 8.17413 6.59961 9.49961C6.59961 10.8251 7.67413 11.8996 8.99961 11.8996Z" fill="currentColor"/>
407<path d="M11.9992 2.2998H5.9992C3.6838 2.2998 1.7998 4.18441 1.7998 6.50041V12.5004C1.7998 14.8158 3.68441 16.6998 6.00041 16.6998H12.0004C14.3158 16.6998 16.1998 14.8152 16.1998 12.4992V6.4992C16.1998 4.1838 14.3152 2.2998 11.9992 2.2998ZM8.9998 13.0998C7.0144 13.0998 5.3998 11.4852 5.3998 9.4998C5.3998 7.5144 7.0144 5.8998 8.9998 5.8998C10.9852 5.8998 12.5998 7.5144 12.5998 9.4998C12.5998 11.4852 10.9852 13.0998 8.9998 13.0998ZM13.1998 5.8998C12.8686 5.8998 12.5998 5.631 12.5998 5.2998C12.5998 4.9686 12.8686 4.6998 13.1998 4.6998C13.531 4.6998 13.7998 4.9686 13.7998 5.2998C13.7998 5.631 13.531 5.8998 13.1998 5.8998Z" fill="currentColor"/>
408</svg></div></a><a href="https://www.facebook.com/onthespotdev/" target="_blank" class="footer_social_link w-inline-block"><div class="u-icon-18px w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 19" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
409<path d="M16.5 9.72747C16.5 5.56002 13.1422 2.18164 9 2.18164C4.85786 2.18164 1.5 5.56002 1.5 9.72747C1.5 13.4937 4.24263 16.6155 7.82812 17.1816V11.9087H5.92383V9.72747H7.82812V8.06503C7.82812 6.17386 8.94787 5.12923 10.6609 5.12923C11.4816 5.12923 12.3398 5.27661 12.3398 5.27661V7.1336H11.3941C10.4625 7.1336 10.1719 7.71531 10.1719 8.31207V9.72747H12.2519L11.9194 11.9087H10.1719V17.1816C13.7574 16.6155 16.5 13.4939 16.5 9.72747Z" fill="currentColor"/>
410</svg></div></a></div></div></div><div class="navbar_dropdown"><div id="w-node-_6ce67fde-343e-14f1-5c66-4acb2fada3f8-4a2a350f" class="navbar_dd-links-wrapper"><div class="navbar_links-column"><a href="/about-us" aria-current="page" class="services_dropdown_link large-link w-inline-block w--current"><div class="p cc-40px">About us</div></a><a href="/techspot" class="services_dropdown_link large-link w-inline-block"><div class="p cc-40px">Techspot Events</div></a><a href="/blog" class="services_dropdown_link large-link w-inline-block"><div class="p cc-40px">Blog</div></a></div><div class="navbar_links-column"></div></div><div id="w-node-_42b94699-1fa2-5538-6f79-5d7d46a07c02-46a07c02" data-wf--navbar-explore-our-blog--variant="base" class="navbar_dd-articles-wrapper"><div class="navbar_dd-blog-top"><div class="navbar_dd-blog-top-title"><div class="p-small u-text-color-gray-1">Explore our blog</div></div><div class="w-dyn-list"><div role="list" class="navbar_dd-blog-articles w-dyn-items"><div role="listitem" class="navbar_dd-blog-item w-dyn-item"><img loading="lazy" src="https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a6758424802c4ff9bc6d4f5_ODC_cover_01%20(1).png" alt="What is Offshore Development Center" sizes="100vw" srcset="https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a6758424802c4ff9bc6d4f5_ODC_cover_01%20(1)-p-500.png 500w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a6758424802c4ff9bc6d4f5_ODC_cover_01%20(1)-p-800.png 800w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a6758424802c4ff9bc6d4f5_ODC_cover_01%20(1)-p-1080.png 1080w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a6758424802c4ff9bc6d4f5_ODC_cover_01%20(1)-p-1600.png 1600w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a6758424802c4ff9bc6d4f5_ODC_cover_01%20(1).png 1920w" class="navbar_dd-blog-img"/><div class="p text-wrap-2-line">What is an offshore development center: a complete guide</div><a href="/post/what-is-an-offshore-development-center" class="navbar_dd-articles-link w-inline-block"></a></div><div role="listitem" class="navbar_dd-blog-item w-dyn-item"><img loading="lazy" src="https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a427e7fcf4f75b8a24352e5_Cover.png" alt="" sizes="100vw" srcset="https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a427e7fcf4f75b8a24352e5_Cover-p-500.png 500w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a427e7fcf4f75b8a24352e5_Cover-p-800.png 800w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a427e7fcf4f75b8a24352e5_Cover-p-1080.png 1080w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a427e7fcf4f75b8a24352e5_Cover-p-1600.png 1600w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a427e7fcf4f75b8a24352e5_Cover.png 1920w" class="navbar_dd-blog-img"/><div class="p text-wrap-2-line">After prompts and context: the next shift in AI-native engineering</div><a href="/post/ai-native-engineering-techspot-meetup" class="navbar_dd-articles-link w-inline-block"></a></div><div role="listitem" class="navbar_dd-blog-item w-dyn-item"><img loading="lazy" src="https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a05764b8e4f629ba1dbc38a_AI%20impact%20on%20engineering%20roles%20and%20hiring%20practices.png" alt="" sizes="100vw" srcset="https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a05764b8e4f629ba1dbc38a_AI%20impact%20on%20engineering%20roles%20and%20hiring%20practices-p-500.png 500w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a05764b8e4f629ba1dbc38a_AI%20impact%20on%20engineering%20roles%20and%20hiring%20practices-p-800.png 800w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a05764b8e4f629ba1dbc38a_AI%20impact%20on%20engineering%20roles%20and%20hiring%20practices-p-1080.png 1080w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a05764b8e4f629ba1dbc38a_AI%20impact%20on%20engineering%20roles%20and%20hiring%20practices-p-1600.png 1600w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a05764b8e4f629ba1dbc38a_AI%20impact%20on%20engineering%20roles%20and%20hiring%20practices.png 1920w" class="navbar_dd-blog-img"/><div class="p text-wrap-2-line">AI impact on engineering roles and hiring practices</div><a href="/post/ai-impact-on-developers-and-hiring" class="navbar_dd-articles-link w-inline-block"></a></div></div></div></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div class="navbar_dd-blog-bottom"><div class="navbar_dd-blog-image"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6a702cccca872d1b5a3a7add_Tech%20spot.avif" loading="lazy" sizes="(max-width: 3376px) 100v
410w, 3376px" srcset="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6a702cccca872d1b5a3a7add_Tech%20spot-p-500.avif 500w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6a702cccca872d1b5a3a7add_Tech%20spot-p-800.avif 800w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6a702cccca872d1b5a3a7add_Tech%20spot-p-1080.avif 1080w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6a702cccca872d1b5a3a7add_Tech%20spot-p-1600.avif 1600w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6a702cccca872d1b5a3a7add_Tech%20spot-p-2000.avif 2000w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6a702cccca872d1b5a3a7add_Tech%20spot-p-2600.avif 2600w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6a702cccca872d1b5a3a7add_Tech%20spot.avif 3376w" alt="" class="nav_techspot-img"/></div><div class="navbar_dd-art-text-wrap"><h3 class="h3 cc-30px">TechSpot</h3><div class="u-spacer-10"></div><div class="cc-max-300"><p class="p_small">Software architecture events in Poland and online, bringing together engineers and industry experts.</p></div></div><a href="/techspot" class="button2 white-desk-100 w-inline-block"><div class="button_circle white-desk-100-2"><div class="button_text cc-16px white-desk-100-4 cc-button-red white-desk-100-3">join</div></div><div class="button_text cc-16px white-desk-100-4">join</div></a></div></div></div></div></div><div id="w-node-_31beeff8-8682-2b78-414b-aee1177629d4-177629d4" class="navbar_dd-social-wrapper"><div class="u-horizontal-flex cc-gap-10"><a href="https://ru.linkedin.com/company/on-the-spot-dev" target="_blank" class="footer_social_link w-inline-block"><div class="u-icon-18px w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 19" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
411<path fill-rule="evenodd" clip-rule="evenodd" d="M3.375 2.93164C2.75368 2.93164 2.25 3.43532 2.25 4.05664V15.3066C2.25 15.9279 2.75368 16.4316 3.375 16.4316H14.625C15.2463 16.4316 15.75 15.9279 15.75 15.3066V4.05664C15.75 3.43532 15.2463 2.93164 14.625 2.93164H3.375ZM6.39057 5.93368C6.39479 6.65087 5.85796 7.09278 5.22092 7.08962C4.6208 7.08645 4.09768 6.60868 4.10084 5.93474C4.10401 5.30087 4.60498 4.79145 5.25573 4.80622C5.91596 4.82099 6.39479 5.30509 6.39057 5.93368ZM9.20977 8.00296H7.31978H7.31872V14.4228H9.31627V14.2731C9.31627 13.9881 9.31605 13.7031 9.31582 13.4181C9.31522 12.6577 9.31455 11.8965 9.31845 11.1364C9.3195 10.9518 9.3279 10.7599 9.37537 10.5837C9.55357 9.92562 10.1453 9.50059 10.8055 9.60507C11.2295 9.67144 11.51 9.91722 11.6281 10.317C11.701 10.5669 11.7337 10.8358 11.7368 11.0964C11.7454 11.8821 11.7442 12.6678 11.743 13.4535C11.7425 13.7309 11.7421 14.0084 11.7421 14.2857V14.4218H13.746V14.2678C13.746 13.9288 13.7458 13.5899 13.7456 13.251C13.7452 12.4038 13.7448 11.5567 13.747 10.7093C13.7481 10.3264 13.707 9.94887 13.6131 9.57867C13.4729 9.02809 13.1828 8.57247 12.7114 8.24344C12.377 8.00928 12.01 7.85847 11.5997 7.84159C11.553 7.83965 11.5059 7.83711 11.4586 7.83455C11.2488 7.82321 11.0356 7.81169 10.835 7.85214C10.2613 7.9671 9.7572 8.22972 9.37642 8.69269C9.33217 8.74579 9.2889 8.79972 9.22433 8.88019L9.20977 8.89842V8.00296ZM4.26123 14.4249H6.24932V8.00714H4.26123V14.4249Z" fill="currentColor"/>
412</svg></div></a><a href="https://www.youtube.com/@onthespotdev" target="_blank" class="footer_social_link w-inline-block"><div class="u-icon-18px w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 19" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
413<path d="M14.7559 6.82087C14.6876 6.56749 14.5541 6.33642 14.3688 6.15064C14.1834 5.96487 13.9527 5.83089 13.6994 5.76202C12.7605 5.5042 9.00415 5.5 9.00415 5.5C9.00415 5.5 5.24841 5.49581 4.30888 5.74223C4.05581 5.81427 3.82551 5.95015 3.64009 6.13683C3.45467 6.32352 3.32035 6.55473 3.25002 6.80828C3.0024 7.74721 3 9.69464 3 9.69464C3 9.69464 2.9976 11.6517 3.24343 12.581C3.38133 13.0948 3.78605 13.5007 4.30048 13.6392C5.24901 13.8971 8.99516 13.9013 8.99516 13.9013C8.99516 13.9013 12.7515 13.9055 13.6904 13.6596C13.9438 13.5909 14.1747 13.4572 14.3606 13.2718C14.5464 13.0864 14.6806 12.8557 14.7499 12.6026C14.9981 11.6642 14.9999 9.71742 14.9999 9.71742C14.9999 9.71742 15.0119 7.75981 14.7559 6.82087ZM7.8026 11.4988L7.8056 7.90131L10.9276 9.70303L7.8026 11.4988Z" fill="currentColor"/>
414</svg></div></a><a href="https://t.me/onthespotjob" target="_blank" class="footer_social_link w-inline-block"><div class="u-icon-18px w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewB
414ox="0 0 18 19" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
415<path d="M13.325 4.55918L4.46694 8.22481C3.86241 8.48538 3.86591 8.84728 4.35603 9.00866L6.63025 9.76999L11.8921 6.20729C12.1409 6.04484 12.3683 6.13223 12.1814 6.31023L7.91824 10.4391H7.91724L7.91824 10.4396L7.76136 12.9552C7.99118 12.9552 8.0926 12.8421 8.2215 12.7086L9.32614 11.5559L11.6238 13.3772C12.0475 13.6276 12.3518 13.4989 12.4572 12.9563L13.9655 5.32801C14.1199 4.66373 13.7292 4.36295 13.325 4.55918Z" fill="currentColor"/>
416</svg></div></a><a href="https://instagram.com/on.the.spot.daily" target="_blank" class="footer_social_link w-inline-block"><div class="u-icon-18px w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 19" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
417<path d="M8.99961 11.8996C10.3251 11.8996 11.3996 10.8251 11.3996 9.49961C11.3996 8.17413 10.3251 7.09961 8.99961 7.09961C7.67413 7.09961 6.59961 8.17413 6.59961 9.49961C6.59961 10.8251 7.67413 11.8996 8.99961 11.8996Z" fill="currentColor"/>
418<path d="M11.9992 2.2998H5.9992C3.6838 2.2998 1.7998 4.18441 1.7998 6.50041V12.5004C1.7998 14.8158 3.68441 16.6998 6.00041 16.6998H12.0004C14.3158 16.6998 16.1998 14.8152 16.1998 12.4992V6.4992C16.1998 4.1838 14.3152 2.2998 11.9992 2.2998ZM8.9998 13.0998C7.0144 13.0998 5.3998 11.4852 5.3998 9.4998C5.3998 7.5144 7.0144 5.8998 8.9998 5.8998C10.9852 5.8998 12.5998 7.5144 12.5998 9.4998C12.5998 11.4852 10.9852 13.0998 8.9998 13.0998ZM13.1998 5.8998C12.8686 5.8998 12.5998 5.631 12.5998 5.2998C12.5998 4.9686 12.8686 4.6998 13.1998 4.6998C13.531 4.6998 13.7998 4.9686 13.7998 5.2998C13.7998 5.631 13.531 5.8998 13.1998 5.8998Z" fill="currentColor"/>
419</svg></div></a><a href="https://www.facebook.com/onthespotdev/" target="_blank" class="footer_social_link w-inline-block"><div class="u-icon-18px w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 19" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
420<path d="M16.5 9.72747C16.5 5.56002 13.1422 2.18164 9 2.18164C4.85786 2.18164 1.5 5.56002 1.5 9.72747C1.5 13.4937 4.24263 16.6155 7.82812 17.1816V11.9087H5.92383V9.72747H7.82812V8.06503C7.82812 6.17386 8.94787 5.12923 10.6609 5.12923C11.4816 5.12923 12.3398 5.27661 12.3398 5.27661V7.1336H11.3941C10.4625 7.1336 10.1719 7.71531 10.1719 8.31207V9.72747H12.2519L11.9194 11.9087H10.1719V17.1816C13.7574 16.6155 16.5 13.4939 16.5 9.72747Z" fill="currentColor"/>
421</svg></div></a></div></div></div><div class="navbar_blur-bg"></div><div class="navbar"><div class="burger_menu_wrapper"><div class="burger_menu"><div class="burger_menu_up-content"><a href="/" class="navbar_logo_wrapper w-inline-block"><img loading="lazy" src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6739c1eb0f9259696a1869b0_Group%20461.svg" alt="" class="navbar_logo"/><img loading="lazy" src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67c940cb38114e78c5047b3d_Group%20461%20(1).svg" alt="" class="navbar_logo black"/></a><img data-w-id="a019897f-480d-b2b7-3b04-2e024a2a3521" loading="lazy" alt="" src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/673f1d209a213f94eaddedc6_burger.svg" class="u-icon-32px u-cursor-pointer cc-burger"/></div><div class="u-spacer-mob-30"></div><div class="burger_menu-link max-height-75svh"><div class="burger_dropdown-wrapper"><div class="burger_hor-wrapper"><div class="burger_link-main">Services</div><div class="burger_dropdown-icon w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 13 13" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
422<path fill-rule="evenodd" clip-rule="evenodd" d="M11.0684 4.14113C11.2637 4.32931 11.2637 4.6344 11.0684 4.82258L6.21484 9.5L1.36129 4.82258C1.16603 4.6344 1.16603 4.32931 1.36129 4.14113C1.55655 3.95296 1.87313 3.95296 2.0684 4.14113L6.21484 8.13711L10.3613 4.14113C10.5566 3.95296 10.8731 3.95296 11.0684 4.14113Z" fill="currentcolor"/>
423<mask id="mask0_5134_1837" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="13" height="13">
424<rect x="12.2148" y="0.5" width="12" height="12" transform="rotate(90 12.2148 0.5)" fill="currentcolor"/>
425</mask>
426<g mask="url(#mask0_5134_1837)">
427</g>
428</svg></div></div><div class="burger_dropdown-links-list"><div class="u-spacer-mob-1"></div><a href="/offshore-development-center" class="burger_link-small">Offshore Development Center</a><a href="/dedicated-development-team" class="burger_link-small">Dedicated Development Team</a><a href="/tech-recruitment-services" class="burger_link-small">Tech Recruitment Services</a><a href="/custom-software-development" class="burger_link-small">Custom Software Development</a><a href="/cto-as-a-service" class="burger_link-small">Fractional CTO Services</a></div></div><a href="/cybersecurity-software-development" class="burger_link-main-wrapper gap-10-hor w-inline-block"><div class="burger_circle-roze"></div><div class="burger_link-main">Cybersecurity</div></a><a href="/careers" class="burger_link-main-wrapper w-inline-block"><div class="burger_link-main">Careers</div></a><a href="/portfolio" class="burger_link-main-wrapper w-inline-block"><div class="burger_link-main">Portfolio</div></a><div class="burger_dropdown-wrapper"><div class="burger_hor-wrapper"><div class="burger_link-main">Company</div><div class="burger_dropdown-icon w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewB
428ox="0 0 13 13" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
429<path fill-rule="evenodd" clip-rule="evenodd" d="M11.0684 4.14113C11.2637 4.32931 11.2637 4.6344 11.0684 4.82258L6.21484 9.5L1.36129 4.82258C1.16603 4.6344 1.16603 4.32931 1.36129 4.14113C1.55655 3.95296 1.87313 3.95296 2.0684 4.14113L6.21484 8.13711L10.3613 4.14113C10.5566 3.95296 10.8731 3.95296 11.0684 4.14113Z" fill="currentcolor"/>
430<mask id="mask0_5134_1837" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="13" height="13">
431<rect x="12.2148" y="0.5" width="12" height="12" transform="rotate(90 12.2148 0.5)" fill="currentcolor"/>
432</mask>
433<g mask="url(#mask0_5134_1837)">
434</g>
435</svg></div></div><div class="burger_dropdown-links-list"><div class="u-spacer-mob-1"></div><a href="/about-us" aria-current="page" class="burger_link-small w--current">About us</a><a href="/techspot" class="burger_link-small">Techspot Events</a><a href="/blog" class="burger_link-small">Blog</a></div></div><div class="u-spacer-mob-40"></div></div><a href="/contact-us" class="button cc-white cc-burger w-inline-block"><div class="button_circle cc-white cc-red"><div class="button_text cc-16px cc-button-red">Contact us</div></div><div class="button_text cc-16px">Contact us</div></a></div></div><a href="/" class="navbar_logo_wrapper w-inline-block"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67c8d9734c2e3f77396c0e1b_Group%20461.svg" loading="lazy" alt="" class="navbar_logo black"/><img loading="lazy" src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6739c1eb0f9259696a1869b0_Group%20461.svg" alt="" class="navbar_logo"/></a><div class="navbar_menu"><div class="navbar_dropdown-link"><div class="p_small">Services</div><div class="nav-dropdown_icon w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 13 13" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
436<path fill-rule="evenodd" clip-rule="evenodd" d="M11.0684 4.14113C11.2637 4.32931 11.2637 4.6344 11.0684 4.82258L6.21484 9.5L1.36129 4.82258C1.16603 4.6344 1.16603 4.32931 1.36129 4.14113C1.55655 3.95296 1.87313 3.95296 2.0684 4.14113L6.21484 8.13711L10.3613 4.14113C10.5566 3.95296 10.8731 3.95296 11.0684 4.14113Z" fill="currentcolor"/>
437<mask id="mask0_5134_1837" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="13" height="13">
438<rect x="12.2148" y="0.5" width="12" height="12" transform="rotate(90 12.2148 0.5)" fill="currentcolor"/>
439</mask>
440<g mask="url(#mask0_5134_1837)">
441</g>
442</svg></div></div><a href="/cybersecurity-software-development" class="u-horizontal-flex cc-gap-5 cc-center navbar-link w-inline-block"><div class="hero-circle"></div><div class="p_small">Cybersecurity</div></a><a href="/careers" class="u-horizontal-flex cc-gap-5 cc-center navbar-link w-inline-block"><div class="p_small">Careers</div></a><a href="/portfolio" class="navbar-link">Portfolio</a><div class="navbar_dropdown-link"><div class="p_small">Company</div><div class="nav-dropdown_icon w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 13 13" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
443<path fill-rule="evenodd" clip-rule="evenodd" d="M11.0684 4.14113C11.2637 4.32931 11.2637 4.6344 11.0684 4.82258L6.21484 9.5L1.36129 4.82258C1.16603 4.6344 1.16603 4.32931 1.36129 4.14113C1.55655 3.95296 1.87313 3.95296 2.0684 4.14113L6.21484 8.13711L10.3613 4.14113C10.5566 3.95296 10.8731 3.95296 11.0684 4.14113Z" fill="currentcolor"/>
444<mask id="mask0_5134_1837" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="13" height="13">
445<rect x="12.2148" y="0.5" width="12" height="12" transform="rotate(90 12.2148 0.5)" fill="currentcolor"/>
446</mask>
447<g mask="url(#mask0_5134_1837)">
448</g>
449</svg></div></div></div><div class="navbar_button_desk"><a data-wf--button--variant="base" href="/contact-us" class="button w-inline-block"><div class="button_circle"><div class="button_text cc-16px cc-button-red">Contact us</div></div><div class="button_text cc-16px">Contact us</div></a></div><div class="navbar_line"></div><div data-w-id="a019897f-480d-b2b7-3b04-2e024a2a355b" class="navbar_button-mobile"><div class="u-image-100 w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewB
449ox="0 0 49 12" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
450<path d="M0 1C0 0.723858 0.223858 0.5 0.5 0.5H48.5C48.7761 0.5 49 0.723858 49 1C49 1.27614 48.7761 1.5 48.5 1.5H0.5C0.223857 1.5 0 1.27614 0 1Z" fill="currentColor"/>
451<path d="M0 6C0 5.72386 0.223858 5.5 0.5 5.5H48.5C48.7761 5.5 49 5.72386 49 6C49 6.27614 48.7761 6.5 48.5 6.5H0.5C0.223857 6.5 0 6.27614 0 6Z" fill="currentColor"/>
452<path d="M0 11C0 10.7239 0.223858 10.5 0.5 10.5H48.5C48.7761 10.5 49 10.7239 49 11C49 11.2761 48.7761 11.5 48.5 11.5H0.5C0.223857 11.5 0 11.2761 0 11Z" fill="currentColor"/>
453</svg></div></div></div><div class="css w-embed"><style>
454  .navbar_dd-blog-item:first-child {
455  border-top: 0;
456}
457
458  .text-wrap-2-line {
459  display: -webkit-box;
460  -webkit-line-clamp: 2;
461  -webkit-box-orient: vertical;  
462  overflow: hidden;
463}
464
465  .nav-dropdown_icon.cc-active-services {
466  transform: rotate(180deg);
467}
468
469  .navbar_dropdown.cc-active {
470  transform: translate(0px, 0%);
471}
472
473  .navbar_line.cc-opacity-0 {
474  opacity: 0;
475}
476
477  .navbar.u-bg-color-gray-3 {
478  background-color: var(--gray-3);
479}
480
481.navbar.u-bg-color-gray-3:where(.w-variant-be674a5d-2a8f-10ae-7c45-90e55f18ab30) {
482  background-color: var(--black) !important;
483}
484  
485  .navbar_blur-bg.cc-opacity-100 {
486  opacity: 1;
487}
488
489@media screen and (max-width: 479px) {
490  .burger_dropdown-links-list.cc-active {
491    max-height: 1000px;
492  }
493}
494
495  .burger_dropdown-links-list.cc-active {
496    max-height: 500px;
497  }
498  
499  .burger_dropdown-icon.cc-active {
500    transform: rotate(180deg);
501  }
502  
503</style>
504
505
506<style>
507@media screen and (max-width: 767px) {
508  .burger_menu-link.max-height-75svh {
509    width: 100% !important;
510    max-width: 100% !important;
511    min-width: 0 !important;
512    box-sizing: border-box !important;
513
514    overflow-y: auto !important;
515    overflow-x: hidden !important;
516
517    -webkit-overflow-scrolling: touch;
518    overscroll-behavior-x: none;
519    overscroll-behavior-y: contain;
520    touch-action: pan-y;
521
522    scrollbar-width: none;
523    -ms-overflow-style: none;
524  }
525
526  .burger_menu-link.max-height-75svh::-webkit-scrollbar {
527    display: none !important;
528    width: 0 !important;
529    height: 0 !important;
530  }
531}
532
533</style>
534
535
536</div><div class="js w-embed w-script">
536<script>
537document.addEventListener('DOMContentLoaded', () => {
538  const links = document.querySelectorAll('.navbar_menu .navbar_dropdown-link');
539  const dropdowns = document.querySelectorAll('.navbare_simbol .navbar_dropdown');
540  const navbar = document.querySelector('.navbar');
541  const navbarLine = navbar ? navbar.querySelector('.navbar_line') : null;
542  const blurBg = document.querySelector('.navbare_simbol .navbar_blur-bg');
543
544  links.forEach((link, index) => {
545    link.addEventListener('click', (e) => {
546      e.stopPropagation();
547      
548      const targetDropdown = dropdowns[index];
549      const icon = link.querySelector('.nav-dropdown_icon');
550      
551      const isDropdownActive = targetDropdown && targetDropdown.classList.contains('cc-active');
552
553      removeActiveClasses();
554
555      if (!isDropdownActive) {
556        if (targetDropdown) {
557          targetDropdown.classList.add('cc-active');
558        }
559        if (icon) {
560          icon.classList.add('cc-active-services');
561        }
562        if (navbarLine) {
563          navbarLine.classList.add('cc-opacity-0');
564        }
565        if (navbar) {
566          navbar.classList.add('u-bg-color-gray-3');
567        }
568        if (blurBg) {
569          blurBg.classList.add('cc-opacity-100');
570        }
571      }
572    });
573  });
574
575  document.addEventListener('click', () => {
576    removeActiveClasses();
577  });
578
579  dropdowns.forEach(dropdown => {
580    dropdown.addEventListener('click', (e) => {
581      if (e.target.closest('a')) {
582        removeActiveClasses();
583      } else {
584        e.stopPropagation();
585      }
586    });
587  });
588
589  function removeActiveClasses() {
590    dropdowns.forEach(dropdown => dropdown.classList.remove('cc-active'));
591    links.forEach(link => {
592      const icon = link.querySelector('.nav-dropdown_icon');
593      if (icon) {
594        icon.classList.remove('cc-active-services');
595      }
596    });
597    if (navbarLine) {
598      navbarLine.classList.remove('cc-opacity-0');
599    }
600    if (navbar) {
601      navbar.classList.remove('u-bg-color-gray-3');
602    }
603    if (blurBg) {
604      blurBg.classList.remove('cc-opacity-100');
605    }
606  }
607});
608
609// КОД ДЛЯ БУРГЕР МЕНЮ НА МОБИЛКЕ
610
611  document.addEventListener('click', (event) => {
612  // Находим кликнутый хедер или его внутренности
613  const currentHeader = event.target.closest('.burger_hor-wrapper');
614  if (!currentHeader) return;
615
616  // Находим родительский контейнер текущего выпадающего списка
617  const currentWrapper = currentHeader.closest('.burger_dropdown-wrapper');
618  if (!currentWrapper) return;
619
620  // Находим общую обертку меню, чтобы искать соседей только внутри нее
621  const menuLinkContainer = currentWrapper.closest('.burger_menu-link');
622  if (!menuLinkContainer) return;
623
624  // Находим все остальные обертки внутри этого меню
625  const allWrappers = menuLinkContainer.querySelectorAll('.burger_dropdown-wrapper');
626
627  allWrappers.forEach((wrapper) => {
628    const list = wrapper.querySelector('.burger_dropdown-links-list');
629    const icon = wrapper.querySelector('.burger_dropdown-icon');
630
631    if (wrapper === currentWrapper) {
632      // Переключаем класс у текущего нажатого блока
633      list?.classList.toggle('cc-active');
634      icon?.classList.toggle('cc-active');
635    } else {
636      // Удаляем класс у всех остальных соседних блоков
637      list?.classList.remove('cc-active');
638      icon?.classList.remove('cc-active');
639    }
640  });
641});
642
643  
644
645// КОД ДЛЯ ВЫТЯНУТОЙ ОТЦЕНТРОВАННОЙ КНОПКИ
646    // Проверка ширины экрана
647    if (window.innerWidth > 479) {
648        const buttons = document.querySelectorAll('.button2'); // Изменено на :not(.big)
649
650        buttons.forEach(button => {
651            const circle = button.querySelector('.button_circle');
652            const textA = button.querySelector('.button_text.cc-16px:not(.cc-button-red)');
653            const textB = button.querySelector('.button_text.cc-16px.cc-button-red');
654
655            button.addEventListener('mouseenter', () => {
656                gsap.to(circle, {
657                    width: '27em',
658                    height: '27em',
659                    x: '-10em',
660                    duration: 0.5
661                });
662
663                gsap.to(textA, {
664                    x: '-0.31em',
665                    duration: 0.5
666                });
667
668                gsap.to(textB, {
669                    x: '10em',
670                    duration: 0.5
671                });
672            });
673
674            button.addEventListener('mouseleave', () => {
675                gsap.to(circle, {
676                    width: '0.31em',
677                    height: '0.31em',
678                    x: '0',
679                    duration: 0.5
680                });
681
682                gsap.to(textA, {
683                    x: '0',
684                    duration: 0.5
685                
686                });
687
688                gsap.to(textB, {
689                    x: '0',
690                    duration: 0.5
691                });
692            });
693        });
694    }
695</script>
695</div></div><div class="main"><div id="gg" class="section hero cc-about-us about-new"><div class="hero_titile_wrapper cc-about"><h1 class="h1 u-text-weight-600 cc-au">Hey! It’s <span class="_4vw no-wrap">on the spot</span></h1><div class="hero_border cc-about-s"><div class="h1 u-text-weight-600 hero-left">[</div><div class="h1 u-text-weight-600 hero-right">]</div></div><div class="hero_portal cc-about-us"></div><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6892891dd88cd7f37c4c3dd5_Rectangle%2016.png" loading="lazy" sizes="(max-width: 568px) 100vw, 568px" srcset="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6892891dd88cd7f37c4c3dd5_Rectangle%2016-p-500.png 500w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6892891dd88cd7f37c4c3dd5_Rectangle%2016.png 568w" alt="Team from On The Spot Development" class="about-new_image cc-is-2"/><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6890ae08149ae9bbfc9a7a8d_Rectangle%2017-1.png" loading="lazy" sizes="(max-width: 721px) 100vw, 721px" srcset="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6890ae08149ae9bbfc9a7a8d_Rectangle%2017-1-p-500.png 500w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6890ae08149ae9bbfc9a7a8d_Rectangle%2017-1.png 721w" alt="Team from On The Spot Development" class="about-new_image cc-is-3"/><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6890ae08e0ba3aeab3dfe0dc_Rectangle%2014-1.png" loading="lazy" sizes="(max-width: 501px) 100v
695w, 501px" srcset="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6890ae08e0ba3aeab3dfe0dc_Rectangle%2014-1-p-500.png 500w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6890ae08e0ba3aeab3dfe0dc_Rectangle%2014-1.png 501w" alt="Team from On The Spot Development" class="about-new_image cc-is-4"/><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/689289ffb915d5e7e12bf212_Rectangle%204321%20(1).png" loading="lazy" alt="Team from On The Spot Development" class="about-new_image cc-is-7"/><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6892891d13d6ef55cc7c7e54_Rectangle%204318.png" loading="lazy" sizes="(max-width: 566px) 100vw, 566px" srcset="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6892891d13d6ef55cc7c7e54_Rectangle%204318-p-500.png 500w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6892891d13d6ef55cc7c7e54_Rectangle%204318.png 566w" alt="Team from On The Spot Development" class="about-new_image cc-is-6"/><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6892891d695e095acbf65976_Rectangle%204320.png" loading="lazy" sizes="(max-width: 594px) 100vw, 594px" srcset="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6892891d695e095acbf65976_Rectangle%204320-p-500.png 500w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6892891d695e095acbf65976_Rectangle%204320.png 594w" alt="Team from On The Spot Development" class="about-new_image cc-is-8"/><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6892891d2c0655ca0aab6015_Rectangle%204319.png" loading="lazy" alt="Team from On The Spot Development" class="about-new_image cc-is-5"/><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6890ae0765ef91985c67fe4c_Rectangle%2018-1.png" loading="lazy" alt="Teammates shaking hands at On The Spot Development" class="about-new_image"/></div></div><div id="sge" class="section cc-au-text _60"><div class="section_text_wrapper cc-550"><div gsap="opacity" class="u-roboto-mono u-text-color-gray-1">[01]</div><div class="u-spacer-15 u-spacer-mob-15"></div><h2 gsap="opacity" class="p_small u-text-color-gray-1">who we are</h2></div><div class="u-spacer-40 u-spacer-mob-15"></div><h2 anima="" class="h2 u-text-weight-600 u-text-color-gray-2"><span class="au-first_word">It</span> all began with frustration. After years in software development, we kept seeing one problem. Companies wanted to build and grow their products with the help of outsourcing, but they often ended up disappointed.</h2><div class="u-spacer-40 u-spacer-mob-30"></div><div class="who_layout"><div gsap="opacity" class="who_image"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6837170e30c9a93df6e58de9_Photo-02.png" loading="lazy" sizes="(max-width: 1000px) 100vw, 1000px" srcset="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6837170e30c9a93df6e58de9_Photo-02-p-500.png 500w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6837170e30c9a93df6e58de9_Photo-02-p-800.png 800w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6837170e30c9a93df6e58de9_Photo-02.png 1000w" alt="Working team at On The Spot Development" class="u-image-100 cc-cover"/></div><div class="who_text-content"><p gsap="opacity" class="p-30px cc-mob-23px">We were tired of seeing junior developers instead of the promised senior ones, confusing pricing models, teams constantly being shuffled around, rushed timelines, poor coding, unclear communication, and the list didn’t end there.</p><div class="u-spacer-30"></div><div class="who_text-content_botton"><p gsap="opacity" class="p">It was painful to see software development turn into a stressful experience. So, we decided to create a company where these problems simply wouldn&#x27;t exist. That’s how On The Spot was born. And it feels like we’ve made a real difference.</p><p gsap="opacity" class="p">We build long-lasting relationships with our customers, connecting them with top local talent who become part of their teams. Our pricing is clear and straightforward, with no hidden costs. This approach is the absolute opposite of what we’ve seen in the industry.</p></div></div></div><div class="u-spacer-80 u-spacer-mob-60"></div><div class="who_layout cc-countres"><div><h2 gsap="opacity" class="h4 u-text-weight-600 cc-mob-57px">2016</h2><div class="who_numbers_card"><p gsap="opacity" class="p cc-mob-19px">Founded</p></div></div><div class="who_numbers_card_wrapper"><div class="who_numbers_card"><h2 gsap="opacity" class="h4 u-text-weight-600 cc-mob-57px">
6952 offices</h2><p gsap="opacity" class="p cc-mob-19px">UK, Poland</p></div><div class="u-horizontal-flex"><div class="who_numbers_card cc-right"><h2 gsap="opacity" class="h4 u-text-weight-600 cc-mob-57px">200</h2><p gsap="opacity" class="p cc-mob-19px">Employees</p></div><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/673f3a13cbbc59db4709d4a5_Link%20(1).svg" loading="lazy" gsap="opacity" alt="icon plus" class="u-icon-24px"/></div></div></div></div><div gsap="line" class="section_line"></div><div id="what-we-do" class="section"><div class="section_code"><div class="w-embed"><style>
696  @media (min-width: 480px) {
697    .services_card:hover .p_small.u-text-color-gray-1 {
698      color: var(--gray-3);
699    }
700  }
701
702</style></div></div><div class="section_text_wrapper cc-au_services"><div gsap="opacity" class="u-roboto-mono u-text-color-gray-1">[02]</div><div class="u-spacer-15 u-spacer-mob-15"></div><div gsap="opacity" class="p_small u-text-color-gray-1">our services</div><div class="u-spacer-30 u-spacer-mob-20"></div><h2 gsap="opacity" class="h4 u-text-weight-600">What we do</h2><div class="u-spacer-30 u-spacer-mob-20"></div><div class="cc-max-430"><p class="p">On The Spot Development helps startups and tech companies build and grow their products. To support customers at every scale, we offer the following services:</p></div></div><div class="u-spacer-80 u-spacer-mob-40"></div><div gsap="opacity" class="services_grid"><a data-w-id="6fa41989-4043-64b7-badf-47c1999aad41" href="/offshore-development-center" class="services_card w-inline-block"><div data-w-id="ad3cc2e5-4433-4209-a164-bfa711ce4125" class="services_card_hover-bg"></div><div class="u-icon-32px u-margin-left-auto u-relative-z-2 w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 32 33" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
703<path fill-rule="evenodd" clip-rule="evenodd" d="M0.461984 32.038C-0.153836 31.4222 -0.153836 30.4238 0.461984 29.8079L26.6161 3.65382L0.461864 3.65382L0.461864 0.500004L32 0.500002L32 32.0381L28.8462 32.0381L28.8462 5.8839L2.69207 32.038C2.07625 32.6538 1.0778 32.6538 0.461984 32.038Z" fill="currentColor"/>
704</svg></div><div class="u-spacer-80 u-spacer-mob-120"></div><div class="services_card_text-content"><h3 class="p_large">Offshore Development Center</h3><div class="u-spacer-15 u-spacer-mob-20"></div><p class="p_small u-text-color-gray-1">We build your dedicated R&amp;D team on a long-term basis, deliver results quickly and cost-effectively, and ensure full transparency on all costs.</p></div></a><a data-w-id="a1a45218-2b76-9cc9-6d8d-456c68a28105" href="/dedicated-development-team" class="services_card w-inline-block"><div data-w-id="a1a45218-2b76-9cc9-6d8d-456c68a28106" class="services_card_hover-bg"></div><div class="u-icon-32px u-margin-left-auto u-relative-z-2 w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 32 33" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
705<path fill-rule="evenodd" clip-rule="evenodd" d="M0.461984 32.038C-0.153836 31.4222 -0.153836 30.4238 0.461984 29.8079L26.6161 3.65382L0.461864 3.65382L0.461864 0.500004L32 0.500002L32 32.0381L28.8462 32.0381L28.8462 5.8839L2.69207 32.038C2.07625 32.6538 1.0778 32.6538 0.461984 32.038Z" fill="currentColor"/>
706</svg></div><div class="u-spacer-80 u-spacer-mob-120"></div><div class="services_card_text-content"><h3 class="p_large">Dedicated development team</h3><div class="u-spacer-15 u-spacer-mob-20"></div><p class="p_small u-text-color-gray-1">You set the roadmap. We hire your flexible, cost-effective engineering team in Poland to deliver it and handle everything around it.</p></div></a><a data-w-id="f93321dc-d745-9805-97c6-961416630336" href="/tech-recruitment-services" class="services_card w-inline-block"><div data-w-id="f93321dc-d745-9805-97c6-961416630337" class="services_card_hover-bg"></div><div class="u-icon-32px u-margin-left-auto u-relative-z-2 w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewB
706ox="0 0 32 33" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
707<path fill-rule="evenodd" clip-rule="evenodd" d="M0.461984 32.038C-0.153836 31.4222 -0.153836 30.4238 0.461984 29.8079L26.6161 3.65382L0.461864 3.65382L0.461864 0.500004L32 0.500002L32 32.0381L28.8462 32.0381L28.8462 5.8839L2.69207 32.038C2.07625 32.6538 1.0778 32.6538 0.461984 32.038Z" fill="currentColor"/>
708</svg></div><div class="u-spacer-80 u-spacer-mob-120"></div><div class="services_card_text-content"><h3 class="p_large">Tech recruitment services</h3><div class="u-spacer-15 u-spacer-mob-20"></div><p class="p_small u-text-color-gray-1">Hire engineers into your own company in Poland, with technical prescreening and a success-based fee.</p></div></a><a data-w-id="2027f076-c86c-7e7b-f5b1-eb03aef75e5a" href="/cto-as-a-service" class="services_card w-inline-block"><div data-w-id="2027f076-c86c-7e7b-f5b1-eb03aef75e5b" class="services_card_hover-bg"></div><div class="u-icon-32px u-margin-left-auto u-relative-z-2 w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 32 33" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
709<path fill-rule="evenodd" clip-rule="evenodd" d="M0.461984 32.038C-0.153836 31.4222 -0.153836 30.4238 0.461984 29.8079L26.6161 3.65382L0.461864 3.65382L0.461864 0.500004L32 0.500002L32 32.0381L28.8462 32.0381L28.8462 5.8839L2.69207 32.038C2.07625 32.6538 1.0778 32.6538 0.461984 32.038Z" fill="currentColor"/>
710</svg></div><div class="u-spacer-80 u-spacer-mob-120"></div><div class="services_card_text-content"><h3 class="p_large">Fractional CTO for startups</h3><div class="u-spacer-15 u-spacer-mob-20"></div><p class="p_small u-text-color-gray-1">We provide an experienced fractional CTO to guide your early-stage startup, advise on technology strategy, and support you from roadmap to PoC, MVP, and beyond.</p></div></a><a data-w-id="1932bfab-87e3-58f4-fa0a-72bb514fb6ee" href="/custom-software-development" class="services_card w-inline-block"><div data-w-id="1932bfab-87e3-58f4-fa0a-72bb514fb6ef" class="services_card_hover-bg"></div><div class="u-icon-32px u-margin-left-auto u-relative-z-2 w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 32 33" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
711<path fill-rule="evenodd" clip-rule="evenodd" d="M0.461984 32.038C-0.153836 31.4222 -0.153836 30.4238 0.461984 29.8079L26.6161 3.65382L0.461864 3.65382L0.461864 0.500004L32 0.500002L32 32.0381L28.8462 32.0381L28.8462 5.8839L2.69207 32.038C2.07625 32.6538 1.0778 32.6538 0.461984 32.038Z" fill="currentColor"/>
712</svg></div><div class="u-spacer-80 u-spacer-mob-120"></div><div class="services_card_text-content"><h3 class="p_large">Custom Software Development</h3><div class="u-spacer-15 u-spacer-mob-20"></div><p class="p_small u-text-color-gray-1">We bring in extra engineering talent and give your software development an instant boost with ad-hoc expert support.</p></div></a></div></div><div id="rd-teams" class="section"><div gsap="circle" class="parners_up-block"><div class="section_text_wrapper cc-1050"><div gsap="opacity" class="u-roboto-mono u-text-color-gray-2">[03]</div><div class="u-spacer-15 u-spacer-mob-15"></div><div gsap="opacity" class="p_small u-text-color-gray-2">our partners</div><div class="u-spacer-30 u-spacer-mob-20"></div><h2 gsap="opacity" class="h4 u-text-weight-600 u-text-color-white">R&amp;D te<span class="u-font-gridular">a</span>ms we host</h2></div></div><div class="u-spacer-10 u-spacer-mob-15"></div><div gsap="opacity" class="partners_down-block"><div class="partner_logo_wrapper"><img loading="lazy" src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/673a9f433d717f1dc18c87e6_Frame%2011.png" alt="" class="u-image-100 cc-cover"/></div><div class="partner_logo_wrapper"><img loading="lazy" src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/673a9f43f690c32b428ef946_Frame%2013.png" alt="" class="u-image-100 cc-cover"/></div><div class="partner_logo_wrapper"><img loading="lazy" src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/673a9f424f77846940bc8fba_Frame%2014.png" alt="" class="u-image-100 cc-cover"/></div><div class="partner_logo_wrapper"><img loading="lazy" src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/673a9f438e12ecfbebfdf814_Frame%2015.png" alt="" class="u-image-100 cc-cover"/></div><div class="partner_logo_wrapper"><img loading="lazy" src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/673a9f4382767acb2d3b6354_Frame%2015-1.png" alt="" class="u-image-100 cc-cover"/></div><div class="partner_logo_wrapper"><img loading="lazy" src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/673a9f4353821f6427645db0_Frame%2016.png" alt="" class="u-image-100 cc-cover"/></div><div class="partner_logo_wrapper"><img loading="lazy" src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/673a9f4380806ed8470ac486_Frame%2018.png" alt="" class="u-image-100 cc-cover"/></div><div class="partner_logo_wrapper cc-mob-hidden"><img loading="lazy" src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/673a9f430f6cca562de1daaf_Frame%2015-2.png" alt="" class="u-image-100 cc-cover"/></div><div class="partner_logo_wrapper cc-mob-hidden"><img loading="lazy" src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/673a9f438e64c0d0b81d3e93_Frame%2012.png" alt="" class="u-image-100 cc-cover"/></div><div class="partner_logo_wrapper cc-mob-hidden"><img loading="lazy" src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/673a9f43baa4b68b158c36d2_Frame%2013-1.png" alt="" class="u-image-100 cc-cover"/></div><div class="partner_logo_wrapper cc-mob-hidden"><img loading="lazy" src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/673a9f43dcc68218bacb9309_Frame%2013-2.png" alt="" class="u-image-100 cc-cover"/></div><div class="partner_logo_wrapper cc-mob-hidden"><img loading="lazy" src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/673a9f43a5fe7ade4ccf2eb9_Frame%2013-3.png" alt="" class="u-image-100 cc-cover"/></div><div class="partner_logo_wrapper cc-mob-hidden"><img loading="lazy" src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/673a9f428e64c0d0b81d3e46_Frame%2011-1.png" alt="" class="u-image-100 cc-cover"/></div><div class="partner_logo_wrapper cc-mob-hidden"><img loading="lazy" src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/673a9f42342deb5c46dfcd56_Frame%2013-4.png" alt="" class="u-image-100 cc-cover"/></div><div class="partner_logo_wrapper cc-mob-hidden"></div><div class="partner_logo_wrapper cc-mob-hidden"><img loading="lazy" src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/676c1e5a052719db0180ca2
7126_Frame%2020.svg" alt="" class="u-image-100 cc-cover"/></div><div class="partner_logo_wrapper"><img loading="lazy" src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/676c1e5a4376fcc55af1b74e_Frame%2021.svg" alt="" class="u-image-100 cc-cover"/></div><div class="partner_logo_wrapper"><img loading="lazy" src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/676c1e5a34301c53a12beba6_Frame%2024.svg" alt="" class="u-image-100 cc-cover"/></div><div class="partner_logo_wrapper cc-mob-hidden"><img loading="lazy" src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/676c1e5a4376fcc55af1b751_Frame%2019.svg" alt="" class="u-image-100 cc-cover"/></div><div class="partner_logo_wrapper cc-mob-hidden"><img loading="lazy" src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/698afdf8052967829c3b2bd5_Solvin.ai_180x60.png" alt="" class="u-image-100 cc-cover"/></div></div></div><div id="join-us" class="section"><div class="section_text_wrapper cc-au_services cc-margin-no"><div gsap="opacity" class="u-roboto-mono u-text-color-gray-1">[04]</div><div class="u-spacer-15 u-spacer-mob-15"></div><div gsap="opacity" class="p_small u-text-color-gray-1">growth opportunities</div><div class="u-spacer-30 u-spacer-mob-20"></div><h2 gsap="opacity" class="h4 u-text-weight-600">Join us</h2><div class="u-spacer-30 u-spacer-mob-20"></div><div class="cc-max-430"><p class="p">We create a place where you can develop skills, share knowledge, and connect with a community of like-minded people.</p></div><div class="u-spacer-80 u-spacer-mob-30"></div></div><div class="careers-culture_grid"><div id="w-node-_9b03b877-f532-8c79-4f1a-4049fbcfa5c6-06c28a01" class="careers-culture_card cc-is-1"><div class="h3 cc-40px u-text-weight-600">TechSpot</div><div class="u-spacer-20 u-spacer-mob-20"></div><div class="cc-max-470"><p class="p">Tech events in Poland for everyone interested in software architecture and systems design. Like-minded people, top experts from leading companies, and a big engineering community.</p></div><div class="u-vertical-flex u-margin-up-auto"><a href="/techspot" class="button cc-white-button w-inline-block"><div class="button_circle cc-pink"><div class="button_text cc-16px cc-button-red cc-white">more about TechSpot</div></div><div class="button_text cc-16px">more about TechSpot</div></a></div></div><div id="w-node-_9b03b877-f532-8c79-4f1a-4049fbcfa5d4-06c28a01" class="careers-culture_card cc-is-2"><div class="careers-culture_card_image"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67c1d8b22148e1606239fe91_Team%20Lead%20Club-modified.png" loading="lazy" sizes="(max-width: 2000px) 100vw, 2000px" srcset="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67c1d8b22148e1606239fe91_Team%20Lead%20Club-modified-p-500.png 500w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67c1d8b22148e1606239fe91_Team%20Lead%20Club-modified-p-800.png 800w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67c1d8b22148e1606239fe91_Team%20Lead%20Club-modified-p-1080.png 1080w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67c1d8b22148e1606239fe91_Team%20Lead%20Club-modified-p-1600.png 1600w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67c1d8b22148e1606239fe91_Team%20Lead%20Club-modified.png 2000w" alt="Team Lead Club at On The Spot Development" class="u-image-100"/></div><div class="u-spacer-20 u-spacer-mob-20"></div><div class="h3 cc-40px u-text-weight-600">Team Lead Club</div><div class="u-spacer-20 u-spacer-mob-10"></div><div class="cc-max-470"><p class="p">Regular group sessions among R&amp;D team leaders from On The Spot.</p></div><div class="u-vertical-flex u-margin-up-auto"></div></div><div id="w-node-_9b03b877-f532-8c79-4f1a-4049fbcfa5e5-06c28a01" class="careers-culture_card cc-is-3"><div><div class="careers-culture_card_image"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6890c0178b894497a019147a_Ellipse%201528-1.png" loading="lazy" alt="Company blog at On The Spot Development" class="u-image-100"/></div><div class="u-spacer-20 u-spacer-mob-20"></div><div class="h3 cc-40px u-text-weight-600">Company blog</div><div class="u-spacer-20 u-spacer-mob-10"></div><div class="cc-max-470"><p class="p">Insights on R&amp;D teams, company news, and our perspective on the tech sector.</p></div></div><a href="https://onthespotdev.com/blog?tags=Tech" class="button cc-white-button w-inline-block"><div class="button_circle cc-pink"><div class="button_text cc-16px cc-button-red cc-white">Read articles</div></div><div class="button_text cc-16px">Read articles</div></a></div><div id="w-node-_9b03b877-f532-8c79-4f1a-4049fbcfa5f6-06c28a01" class="careers-culture_grid_bottom cc-about-us"><div class="careers-cultur_bottom-left"><div class="careers-culture_card_image"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/679b3e2afd
71252f56743bbda88_Rectangle%20183.jpg" loading="lazy" sizes="(max-width: 1746px) 100vw, 1746px" srcset="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/679b3e2afd52f56743bbda88_Rectangle%20183-p-500.jpg 500w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/679b3e2afd52f56743bbda88_Rectangle%20183-p-800.jpg 800w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/679b3e2afd52f56743bbda88_Rectangle%20183-p-1080.jpg 1080w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/679b3e2afd52f56743bbda88_Rectangle%20183-p-1600.jpg 1600w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/679b3e2afd52f56743bbda88_Rectangle%20183.jpg 1746w" alt="Pixel art style image of two pink robots sitting on chairs facing each other with a small table between them holding a cup, on a black background with faint computer code text." class="u-image-100"/></div><div class="cc-max-400"><div class="h3 cc-40px u-text-weight-600">137 Podcast</div><div class="u-spacer-20 u-spacer-mob-10"></div><p class="p">A lively mix of tech talks and good vibes, or yet another tech podcast. The name &quot;137&quot; comes from a fundamental constant in physics, just like the tech industry challenges we discuss — constant and unavoidable.</p></div></div><div class="techspot_button_layout cc-grid u-margin-left-auto cc-about-us"><a href="https://www.youtube.com/@137-podcast" target="_blank" class="social_button_wrapper cc-about-us w-inline-block"><div class="button big cc-techspot cc-black-border cc-about"><div class="p_small cc-14px cc-allcaps size-10">Watch on</div><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6757f267e41547df24e57add_Logo_of_YouTube_(2015-2017)%201%402x.svg" loading="lazy" alt="youtube logo" class="cc-button-icon-youtube"/></div><div class="button_social_white"><div class="button big cc-techspot cc-white cc-about-us"><div class="p_small cc-14px cc-allcaps size-10">Watch on</div><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/676d48a9ed2ae13fa1deaabe_Logo_of_YouTube_(2015-2017)%201.svg" loading="lazy" alt="youtube logo" class="cc-button-icon-youtube"/></div></div></a><a href="https://open.spotify.com/show/1kV5F7BRuBjZQHkidvmKAb?si=owfhg85eSdqWiuOTZ8WFlQ" target="_blank" class="social_button_wrapper cc-about-us w-inline-block"><div class="button big cc-techspot cc-black-border cc-about"><div class="p_small cc-14px cc-allcaps size-10">Listen on</div><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6757f301ba0d2aa8a58fd54d_Frame%20513481.svg" loading="lazy" alt="Spotify logo" class="cc-icon-spotify"/></div><div class="button_social_white"><div class="button big cc-techspot cc-white cc-about-us"><div class="p_small cc-14px cc-allcaps size-10">Listen on</div><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/676d48a9a7519563c261fddd_Frame%20513481.svg" loading="lazy" alt="Spotify logo" class="cc-icon-spotify"/></div></div></a><a href="https://podcasts.apple.com/us/podcast/137-podcast/id1797015463" target="_blank" class="social_button_wrapper cc-about-us w-inline-block"><div class="button big cc-techspot cc-black-border cc-about"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6757f36f38a6d677d59c66f8_Frame%20513400%20(1).svg" loading="lazy" alt="Apple Podcast badge" class="techspot_button-icon_165px"/></div><div class="button_social_white"><div class="button big cc-techspot cc-white cc-about-us"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/676d48a9ed2ae13fa1deaab9_Frame%20513400.svg" loading="lazy" alt="Apple Podcast badge" class="techspot_button-icon_165px"/></div></div></a><a href="#" class="social_button_wrapper u-hide w-inline-block"><div class="button big cc-techspot cc-black-border"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67b65e1a2c92be5665b6ee67_Frame%20513399.svg" loading="lazy" alt="logo youtube" class="techspot_button-icon_165px"/></div><div class="button_social_white"><div class="button big cc-techspot cc-white"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67b
712661191825fb0d005a79f5_Frame%20513400.svg" loading="lazy" alt="logo youtube" class="techspot_button-icon_165px"/></div></div></a></div></div><div id="w-node-_3197aa5d-9f9e-b04f-cc6a-a40cc399334f-06c28a01" class="careers-culture_card cc-is-4"><div class="h3 cc-40px u-text-weight-600">Careers</div><div class="u-spacer-20 u-spacer-mob-10"></div><div class="cc-max-270"><p class="p">Job opportunities at fast-growing startups and disruptive tech companies.</p></div><div class="u-vertical-flex u-margin-up-auto"><a data-wf--button--variant="base" href="/careers" class="button w-inline-block"><div class="button_circle"><div class="button_text cc-16px cc-button-red">Open positions</div></div><div class="button_text cc-16px">Open positions</div></a></div></div></div><div class="section_code"><div class="w-embed"><style>
713uc-simple-btn button {
714  width: 0px;
715	height: 0px;
716  padding: 0px;
717  background-color: #000;
718  color: #fff;
719	overflow: hidden;
720}
721
722  .contact_upload_button:hover .u-icon-16px.cc-upl-btn {
723      color: #E81C50;
724    }
725
726
727</style>
728
729<style>
730.social_button_wrapper:hover .button_social_white {
731  width: 15.2em;
732  height: 15.2em;
733}
734
735@media (max-width: 479px) {
736  .social_button_wrapper:hover .button_social_white {
737    width: 12em; /* Измените на нужные размеры */
738    height: 12em; /* Измените на нужные размеры */
739  }
740}
741</style></div></div></div><div gsap="line" class="section_line"></div><div id="perks-benefits" class="section number"><div class="section_text_wrapper cc-au-portfilio"><div gsap="opacity" class="u-roboto-mono u-text-color-gray-1">[05]</div><div class="u-spacer-15 u-spacer-mob-15"></div><div gsap="opacity" class="p_small u-text-color-gray-1">extras</div><div class="u-spacer-30 u-spacer-mob-20"></div><h2 gsap="opacity" class="h4 u-text-weight-600">Perks &amp; benefits</h2><div class="u-spacer-80 u-spacer-mob-30"></div></div><div class="careers-package_grid"><div class="careers-package_card"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67acf9f3192f39ea2519ac4f_icons%20medium.svg" loading="lazy" alt="icon building" class="u-icon-56px cc-mob-80px"/>
741<p class="p">Comfortable and cozy office in the heart of Warsaw at Prosta 51</p></div><div class="careers-package_card"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67acf9f2279f079c122c3fbf_icons%20small.svg" loading="lazy" alt="icon watches" class="u-icon-56px u-icon-80px"/><p class="p">Flexible working hours – we care about you and your output</p></div><div class="careers-package_card"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67acf9f2dedbebfc6bff5a31_icons%20small-1.svg" loading="lazy" alt="icon calendar" class="u-icon-56px u-icon-80px"/><p class="p">20 business days of vacation, paid sick leave, 5 extra sick days.</p></div><div class="careers-package_card"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67acf9f2a650134b3b72657d_icons%20medium-1.svg" loading="lazy" alt="icon shapes" class="u-icon-56px u-icon-80px"/><p class="p">Equipment provision</p></div><div class="careers-package_card"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67acf9f2e3a0b3b4ca9ef42d_icons%20medium-2.svg" loading="lazy" alt="icon money" class="u-icon-56px u-icon-80px"/><p class="p">Education budget</p></div><div class="careers-package_card"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67acf9f27f56ece6cf2ac650_icons%20small-2.svg" loading="lazy" alt="icon insurance" class="u-icon-56px u-icon-80px"/><p class="p">LUX MED health insurance</p></div><div class="careers-package_card"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67acf9f25ec4aa018b704c7c_icons%20medium-3.svg" loading="lazy" alt="icon justice" class="u-icon-56px u-icon-80px"/><p class="p">Legal and accounting support in Poland</p></div><div class="careers-package_card"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67acf9f2925c6a5e230601b3_icons%20small-3.svg" loading="lazy" alt="icon translation" class="u-icon-56px u-icon-80px"/><p class="p">English and Polish language classes</p></div><div class="careers-package_card"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67acf9f29996f97d4763c509_icons%20medium-4.svg" loading="lazy" alt="icon human heart" class="u-icon-56px u-icon-80px"/><p class="p">Additional compensation benefits</p></div><div class="careers-package_card"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67acf9f2430fd4299a4042f5_icons%20medium-5.svg" loading="lazy" alt="icon team" class="u-icon-56px u-icon-80px"/><p class="p">Bright and memorable corporate life</p></div></div></div><div id="success-stories" class="section number"><div class="section_text_wrapper cc-au-portfilio"><div gsap="opacity" class="u-roboto-mono u-text-color-gray-1">[06]</div><div class="u-spacer-15 u-spacer-mob-15"></div><div gsap="opacity" class="p_small u-text-color-gray-1">shared achievements</div><div class="u-spacer-30 u-spacer-mob-20"></div><h2 gsap="opacity" class="h4 u-text-weight-600">Customer success stories<br/>we’re proud of</h2><div class="u-spacer-80 u-spacer-mob-30"></div></div><div class="numbers_layout"><div gsap="opacity" class="number_card"><div class="number_text cc-120px u-text-color-purple">4</div><div class="u-margin-left-auto"><div class="p-23px">acquired</div></div></div><div gsap="opacity" id="w-node-_362b0c9a-84b4-411e-617d-57b8157c0f5e-06c28a01" class="number_card is-2"><div class="number_text cc-120px u-text-color-purple">1</div><div class="u-margin-left-auto"><div class="p-23px">merged</div></div></div><div gsap="opacity" id="w-node-_362b0c9a-84b4-411e-617d-57b8157c0f64-06c28a01" class="number_card is-3"><div class="number_text cc-120px u-text-color-purple">3</div><div class="u-margin-left-auto"><div class="p-23px">unicorns</div></div></div></div><div class="u-spacer-60 u-spacer-mob-30"></div><div gsap="opacity" class="button_center_wrapper"><a data-wf--button--variant="base" href="https://clutch.co/profile/spot-development-0" target="_blank" class="button w-inline-block"><div class="button_circle"><div class="button_text cc-16px cc-button-red">Our portfolio</div></div><div class="button_text cc-16px">Our portfolio</div></a></div></div><div gsap="line" class="section_line"></div><div id="team" class="section"><div class="section_text_wrapper cc-max-930"><div gsap="opacity" class="u-roboto-mono u-text-color-gray-1">[07]</div><div class="u-spacer-15 u-spacer-mob-15"></div><div gsap="opacity" class="p_small u-text-color-gray-1">leadership</div><div class="u-spacer-30 u-spacer-mob-20"></div><h2 gsap="opacity" class="h4 u-text-weight-600">Founders and leaders making it all happen</h2></div><div class="u-spacer-60 u-spacer-mob-60"></div><div gsap="opacity" class="numbers_layout cc-au-team"><div class="team_card"><div class="team_card_image"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/689c7b5f9fa59f8a6ee01190_Image.png" loading="lazy" alt="Yegor Tsirkun CEO On The Spot Development" class="u-image-100 cc-cover"/></div><div class="u-spacer-10 u-spacer-mob-10"></div><div class="u-horizontal-flex cc-center"><div><h3 class="p-23px cc-mob-23px">Yegor Tsirkun</h3></div><a href="https://www.linkedin.com/in/yegor-tsirkun-55383417/" target="_blank" class="team_card_link 
741w-inline-block"><div class="p_small">LinkedIn</div><div class="u-icon-24px cc-about w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
742<path fill-rule="evenodd" clip-rule="evenodd" d="M4.23099 19.769C3.92308 19.4611 3.92308 18.9619 4.23099 18.654L17.308 5.57691L4.23093 5.57691L4.23093 4L20 4L20 19.7691L18.4231 19.7691L18.4231 6.69195L5.34603 19.769C5.03812 20.0769 4.5389 20.0769 4.23099 19.769Z" fill="currentColor"/>
743</svg></div></a></div><div class="u-spacer-5 u-spacer-mob-5"></div><div class="p_small u-text-color-gray-1">Co-founder &amp; CEO</div></div><div class="team_card"><div class="team_card_image"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/689c7b5f5736c170a99e8819_Image-1.png" loading="lazy" alt="Anton Co-founder at On The Spot Development" class="u-image-100 cc-cover"/></div><div class="u-spacer-10 u-spacer-mob-10"></div><div class="u-horizontal-flex cc-center"><div><h3 class="p-23px cc-mob-23px">Anton Zhuravsky</h3></div><a href="https://www.linkedin.com/in/anton-zhuravsky-40690124/" target="_blank" class="team_card_link w-inline-block"><div class="p_small">LinkedIn</div><div class="u-icon-24px cc-about w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
744<path fill-rule="evenodd" clip-rule="evenodd" d="M4.23099 19.769C3.92308 19.4611 3.92308 18.9619 4.23099 18.654L17.308 5.57691L4.23093 5.57691L4.23093 4L20 4L20 19.7691L18.4231 19.7691L18.4231 6.69195L5.34603 19.769C5.03812 20.0769 4.5389 20.0769 4.23099 19.769Z" fill="currentColor"/>
745</svg></div></a></div><div class="u-spacer-5"></div><div class="p_small u-text-color-gray-1">Co-founder &amp; Technical Advisor</div></div><div class="team_card"><div class="team_card_image"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/674332414dafa20e3895e0b7_Frame%20512544-1.png" loading="lazy" sizes="(max-width: 920px) 100vw, 920px" srcset="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/674332414dafa20e3895e0b7_Frame%20512544-1-p-500.png 500w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/674332414dafa20e3895e0b7_Frame%20512544-1-p-800.png 800w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/674332414dafa20e3895e0b7_Frame%20512544-1.png 920w" alt="Loir Shiff Co-founder at On The Spot Development" class="u-image-100 cc-cover"/></div><div class="u-spacer-10 u-spacer-mob-10"></div><div class="u-horizontal-flex cc-center"><div><h3 class="p-23px cc-mob-23px">Lior Shiff</h3></div><a href="https://www.linkedin.com/in/shiff/" target="_blank" class="team_card_link w-inline-block"><div class="p_small">LinkedIn</div><div class="u-icon-24px cc-about w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
746<path fill-rule="evenodd" clip-rule="evenodd" d="M4.23099 19.769C3.92308 19.4611 3.92308 18.9619 4.23099 18.654L17.308 5.57691L4.23093 5.57691L4.23093 4L20 4L20 19.7691L18.4231 19.7691L18.4231 6.69195L5.34603 19.769C5.03812 20.0769 4.5389 20.0769 4.23099 19.769Z" fill="currentColor"/>
747</svg></div></a></div><div class="u-spacer-5"></div><div class="p_small u-text-color-gray-1">Co-founder &amp; Chairman</div></div><div class="team_card"><div class="team_card_image"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/689c7b5f81472a0e8cfca09d_Image-2.png" loading="lazy" alt="Anton Vasiljev CTO at On The Spot Development" class="u-image-100 cc-cover"/></div><div class="u-spacer-10 u-spacer-mob-10"></div><div class="u-horizontal-flex cc-center"><div><h3 class="p-23px cc-mob-23px">Anton Vasiljev</h3></div><a href="https://www.linkedin.com/in/antono/" target="_blank" class="team_card_link w-inline-block"><div class="p_small">LinkedIn</div><div class="u-icon-24px cc-about w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewB
747ox="0 0 24 24" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
748<path fill-rule="evenodd" clip-rule="evenodd" d="M4.23099 19.769C3.92308 19.4611 3.92308 18.9619 4.23099 18.654L17.308 5.57691L4.23093 5.57691L4.23093 4L20 4L20 19.7691L18.4231 19.7691L18.4231 6.69195L5.34603 19.769C5.03812 20.0769 4.5389 20.0769 4.23099 19.769Z" fill="currentColor"/>
749</svg></div></a></div><div class="u-spacer-5"></div><div class="p_small u-text-color-gray-1">Chief Technology Officer</div></div><div class="team_card"><div class="team_card_image"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/689c7b60a2dd65a7071448bf_Image-3.png" loading="lazy" alt="Liza Makarevich Chief Success Manager at On The Spot Development" class="u-image-100 cc-cover"/></div><div class="u-spacer-10 u-spacer-mob-10"></div><div class="u-horizontal-flex cc-center"><div><h3 class="p-23px cc-mob-23px">Liza Makarevich</h3></div><a href="https://www.linkedin.com/in/lizaveta/" target="_blank" class="team_card_link w-inline-block"><div class="p_small">LinkedIn</div><div class="u-icon-24px cc-about w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
750<path fill-rule="evenodd" clip-rule="evenodd" d="M4.23099 19.769C3.92308 19.4611 3.92308 18.9619 4.23099 18.654L17.308 5.57691L4.23093 5.57691L4.23093 4L20 4L20 19.7691L18.4231 19.7691L18.4231 6.69195L5.34603 19.769C5.03812 20.0769 4.5389 20.0769 4.23099 19.769Z" fill="currentColor"/>
751</svg></div></a></div><div class="u-spacer-5"></div><div class="p_small u-text-color-gray-1">Chief Success Manager</div></div><div class="team_card"><div class="team_card_image"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6890bdc54554dbebc3945bba_Image%20(1).png" loading="lazy" sizes="(max-width: 686px) 100vw, 686px" srcset="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6890bdc54554dbebc3945bba_Image%20(1)-p-500.png 500w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6890bdc54554dbebc3945bba_Image%20(1).png 686w" alt="Yana Tsiareshchanka Recruitment Lead at On The Spot Development" class="u-image-100 cc-cover"/></div><div class="u-spacer-10 u-spacer-mob-10"></div><div class="u-horizontal-flex cc-center"><div><h3 class="p-23px cc-mob-23px">Yana Tsiareshchanka</h3></div><a href="https://www.linkedin.com/in/yana-tsiareshchanka/" target="_blank" class="team_card_link w-inline-block"><div class="p_small">LinkedIn</div><div class="u-icon-24px cc-about w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
752<path fill-rule="evenodd" clip-rule="evenodd" d="M4.23099 19.769C3.92308 19.4611 3.92308 18.9619 4.23099 18.654L17.308 5.57691L4.23093 5.57691L4.23093 4L20 4L20 19.7691L18.4231 19.7691L18.4231 6.69195L5.34603 19.769C5.03812 20.0769 4.5389 20.0769 4.23099 19.769Z" fill="currentColor"/>
753</svg></div></a></div><div class="u-spacer-5"></div><div class="p_small u-text-color-gray-1">Recruitment Lead</div></div><div class="team_card"><div class="team_card_image"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6899bdb3971f57b0445508cf_Natallia%20Budai.png" loading="lazy" sizes="(max-width: 686px) 100vw, 686px" srcset="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6899bdb3971f57b0445508cf_Natallia%20Budai-p-500.png 500w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6899bdb3971f57b0445508cf_Natallia%20Budai.png 686w" alt="Natallia Budai HR Lead at On The Spot Development" class="u-image-100 cc-cover"/></div><div class="u-spacer-10 u-spacer-mob-10"></div><div class="u-horizontal-flex cc-center"><div><h3 class="p-23px cc-mob-23px">Natallia Budai</h3></div><a href="https://www.linkedin.com/in/natallia-budai-333925160/" target="_blank" class="team_card_link w-inline-block"><div class="p_small">LinkedIn</div><div class="u-icon-24px cc-about w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewB
753ox="0 0 24 24" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
754<path fill-rule="evenodd" clip-rule="evenodd" d="M4.23099 19.769C3.92308 19.4611 3.92308 18.9619 4.23099 18.654L17.308 5.57691L4.23093 5.57691L4.23093 4L20 4L20 19.7691L18.4231 19.7691L18.4231 6.69195L5.34603 19.769C5.03812 20.0769 4.5389 20.0769 4.23099 19.769Z" fill="currentColor"/>
755</svg></div></a></div><div class="u-spacer-5"></div><div class="p_small u-text-color-gray-1">HR Lead</div></div><div class="team_card"><div class="team_card_image"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/68940d6b26ed9b5eb653d7bc_Image-1.jpg" loading="lazy" sizes="(max-width: 686px) 100vw, 686px" srcset="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/68940d6b26ed9b5eb653d7bc_Image-1-p-500.jpg 500w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/68940d6b26ed9b5eb653d7bc_Image-1.jpg 686w" alt="Katya Shkor Pr Lead at On The Spot Development" class="u-image-100 cc-cover"/></div><div class="u-spacer-10 u-spacer-mob-10"></div><div class="u-horizontal-flex cc-center"><div><h3 class="p-23px cc-mob-23px">Katya Shkor</h3></div><a href="https://www.linkedin.com/in/katyashkor/" target="_blank" class="team_card_link w-inline-block"><div class="p_small">LinkedIn</div><div class="u-icon-24px cc-about w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
756<path fill-rule="evenodd" clip-rule="evenodd" d="M4.23099 19.769C3.92308 19.4611 3.92308 18.9619 4.23099 18.654L17.308 5.57691L4.23093 5.57691L4.23093 4L20 4L20 19.7691L18.4231 19.7691L18.4231 6.69195L5.34603 19.769C5.03812 20.0769 4.5389 20.0769 4.23099 19.769Z" fill="currentColor"/>
757</svg></div></a></div><div class="u-spacer-5"></div><div class="p_small u-text-color-gray-1">PR &amp; Communications Lead</div></div></div><div data-delay="4000" data-animation="slide" class="team_slider w-slider" data-autoplay="false" data-easing="ease" data-hide-arrows="false" data-disable-swipe="false" data-autoplay-limit="0" data-nav-spacing="3" data-duration="500" data-infinite="true"><div class="mask-2 w-slider-mask"><div class="team_slider_slide w-slide"><div><div class="team_card"><div class="team_card_image"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/674192e7c2baecd9d385a39d_Image.png" loading="lazy" sizes="(max-width: 920px) 100vw, 920px" srcset="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/674192e7c2baecd9d385a39d_Image-p-500.png 500w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/674192e7c2baecd9d385a39d_Image.png 920w" alt="Young man with short dark hair and light beard wearing a gray crew-neck shirt against a plain light background." class="u-image-100 cc-cover"/></div><div class="u-spacer-10 u-spacer-mob-10"></div><div class="u-horizontal-flex cc-center"><div><h3 class="p-23px cc-mob-23px">Yegor Tsirkun</h3></div><a href="#" class="team_card_link w-inline-block"><div class="p_small">LinkedIn</div><div class="u-icon-24px cc-about w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
758<path fill-rule="evenodd" clip-rule="evenodd" d="M4.23099 19.769C3.92308 19.4611 3.92308 18.9619 4.23099 18.654L17.308 5.57691L4.23093 5.57691L4.23093 4L20 4L20 19.7691L18.4231 19.7691L18.4231 6.69195L5.34603 19.769C5.03812 20.0769 4.5389 20.0769 4.23099 19.769Z" fill="currentColor"/>
759</svg></div></a></div><div class="u-spacer-5 u-spacer-mob-5"></div><div class="p_small u-text-color-gray-1">Co-founder &amp; CEO</div></div></div></div><div class="team_slider_slide w-slide"><div class="team_card"><div class="team_card_image"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/674332418e26c18813733ece_Frame%20512544.png" loading="lazy" sizes="(max-width: 920px) 100vw, 920px" srcset="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/674332418e26c18813733ece_Frame%20512544-p-500.png 500w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/674332418e26c18813733ece_Frame%20512544.png 920w" alt="Portrait of a young man with short brown hair wearing a plain white crewneck t-shirt, smiling slightly, against a light gray background." class="u-image-100 cc-cover"/></div><div class="u-spacer-10 u-spacer-mob-10"></div><div class="u-horizontal-flex cc-center"><div><h3 class="p-23px cc-mob-23px">Anton Zhuravsky</h3></div>
759<a href="#" class="team_card_link w-inline-block"><div class="p_small">LinkedIn</div><div class="u-icon-24px cc-about w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
760<path fill-rule="evenodd" clip-rule="evenodd" d="M4.23099 19.769C3.92308 19.4611 3.92308 18.9619 4.23099 18.654L17.308 5.57691L4.23093 5.57691L4.23093 4L20 4L20 19.7691L18.4231 19.7691L18.4231 6.69195L5.34603 19.769C5.03812 20.0769 4.5389 20.0769 4.23099 19.769Z" fill="currentColor"/>
761</svg></div></a></div><div class="u-spacer-5"></div><div class="p_small u-text-color-gray-1">Co-founder &amp; Technical Advisor</div></div></div><div class="team_slider_slide w-slide"><div class="team_card"><div class="team_card_image"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/674332414dafa20e3895e0b7_Frame%20512544-1.png" loading="lazy" sizes="(max-width: 920px) 100vw, 920px" srcset="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/674332414dafa20e3895e0b7_Frame%20512544-1-p-500.png 500w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/674332414dafa20e3895e0b7_Frame%20512544-1-p-800.png 800w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/674332414dafa20e3895e0b7_Frame%20512544-1.png 920w" alt="Smiling man with short brown hair wearing a blue collared shirt against a light gray background." class="u-image-100 cc-cover"/></div><div class="u-spacer-10 u-spacer-mob-10"></div><div class="u-horizontal-flex cc-center"><div><h3 class="p-23px cc-mob-23px">Lior Shiff</h3></div><a href="#" class="team_card_link w-inline-block"><div class="p_small">LinkedIn</div><div class="u-icon-24px cc-about w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
762<path fill-rule="evenodd" clip-rule="evenodd" d="M4.23099 19.769C3.92308 19.4611 3.92308 18.9619 4.23099 18.654L17.308 5.57691L4.23093 5.57691L4.23093 4L20 4L20 19.7691L18.4231 19.7691L18.4231 6.69195L5.34603 19.769C5.03812 20.0769 4.5389 20.0769 4.23099 19.769Z" fill="currentColor"/>
763</svg></div></a></div><div class="u-spacer-5"></div><div class="p_small u-text-color-gray-1">Co-founder &amp; Chairman</div></div></div><div class="team_slider_slide w-slide"><div class="team_card"><div class="team_card_image"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/674332410dd07578ab4bcda3_Frame%20512544-2.png" loading="lazy" sizes="(max-width: 920px) 100vw, 920px" srcset="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/674332410dd07578ab4bcda3_Frame%20512544-2-p-500.png 500w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/674332410dd07578ab4bcda3_Frame%20512544-2.png 920w" alt="Man with short brown hair, glasses, a beard, and an earring, wearing a white shirt, posing against a plain light background." class="u-image-100 cc-cover"/></div><div class="u-spacer-10 u-spacer-mob-10"></div><div class="u-horizontal-flex cc-center"><div><h3 class="p-23px cc-mob-23px">Anton Vasiljev</h3></div><a href="#" class="team_card_link w-inline-block"><div class="p_small">LinkedIn</div><div class="u-icon-24px cc-about w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
764<path fill-rule="evenodd" clip-rule="evenodd" d="M4.23099 19.769C3.92308 19.4611 3.92308 18.9619 4.23099 18.654L17.308 5.57691L4.23093 5.57691L4.23093 4L20 4L20 19.7691L18.4231 19.7691L18.4231 6.69195L5.34603 19.769C5.03812 20.0769 4.5389 20.0769 4.23099 19.769Z" fill="currentColor"/>
765</svg></div></a></div><div class="u-spacer-5"></div><div class="p_small u-text-color-gray-1">Chief Technology Officer</div></div></div><div class="team_slider_slide w-slide"><div class="team_card"><div class="team_card_image"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67433241ae40f39f050d8d23_Frame%20512544-3.png" loading="lazy" sizes="(max-width: 920px) 100v
765w, 920px" srcset="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67433241ae40f39f050d8d23_Frame%20512544-3-p-500.png 500w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67433241ae40f39f050d8d23_Frame%20512544-3.png 920w" alt="Portrait of a woman with long light brown hair and blue eyes, wearing a white t-shirt and dangling earrings, against a plain light gray background." class="u-image-100 cc-cover"/></div><div class="u-spacer-10 u-spacer-mob-10"></div><div class="u-horizontal-flex cc-center"><div><h3 class="p-23px cc-mob-23px">Liza Makarevich</h3></div><a href="#" class="team_card_link w-inline-block"><div class="p_small">LinkedIn</div><div class="u-icon-24px cc-about w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
766<path fill-rule="evenodd" clip-rule="evenodd" d="M4.23099 19.769C3.92308 19.4611 3.92308 18.9619 4.23099 18.654L17.308 5.57691L4.23093 5.57691L4.23093 4L20 4L20 19.7691L18.4231 19.7691L18.4231 6.69195L5.34603 19.769C5.03812 20.0769 4.5389 20.0769 4.23099 19.769Z" fill="currentColor"/>
767</svg></div></a></div><div class="u-spacer-5"></div><div class="p_small u-text-color-gray-1">Chief Success Manager</div></div></div><div class="team_slider_slide w-slide"><div class="team_card"><div class="team_card_image"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6890bdc54554dbebc3945bba_Image%20(1).png" loading="lazy" sizes="(max-width: 686px) 100vw, 686px" srcset="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6890bdc54554dbebc3945bba_Image%20(1)-p-500.png 500w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6890bdc54554dbebc3945bba_Image%20(1).png 686w" alt="Portrait of a young woman with long brown hair, wearing a white t-shirt with a small black and white graphic, looking at the camera with a slight smile against a plain light gray background." class="u-image-100 cc-cover"/></div><div class="u-spacer-10 u-spacer-mob-10"></div><div class="u-horizontal-flex cc-center"><div><h3 class="p-23px cc-mob-23px">Yana Tsiareshchanka</h3></div><a href="https://www.linkedin.com/in/yana-tsiareshchanka/overlay/about-this-profile/" target="_blank" class="team_card_link w-inline-block"><div class="p_small">LinkedIn</div><div class="u-icon-24px cc-about w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
768<path fill-rule="evenodd" clip-rule="evenodd" d="M4.23099 19.769C3.92308 19.4611 3.92308 18.9619 4.23099 18.654L17.308 5.57691L4.23093 5.57691L4.23093 4L20 4L20 19.7691L18.4231 19.7691L18.4231 6.69195L5.34603 19.769C5.03812 20.0769 4.5389 20.0769 4.23099 19.769Z" fill="currentColor"/>
769</svg></div></a></div><div class="u-spacer-5"></div><div class="p_small u-text-color-gray-1">Recruitment Lead</div></div></div><div class="team_slider_slide w-slide"><div class="team_card"><div class="team_card_image"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6895948d4b671ce36173c3f0_IMG_4862%201%20(1).png" loading="lazy" sizes="(max-width: 1660px) 100vw, 1660px" srcset="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6895948d4b671ce36173c3f0_IMG_4862%201%20(1)-p-500.png 500w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6895948d4b671ce36173c3f0_IMG_4862%201%20(1)-p-800.png 800w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6895948d4b671ce36173c3f0_IMG_4862%201%20(1)-p-1080.png 1080w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6895948d4b671ce36173c3f0_IMG_4862%201%20(1).png 1660w" alt="Close-up portrait of a woman with long dark hair, brown eyes, and natural makeup wearing a black top and a silver necklace, against a plain light gray background." class="u-image-100 cc-cover"/></div><div class="u-spacer-10 u-spacer-mob-10"></div><div class="u-horizontal-flex cc-center"><div><h3 class="p-23px cc-mob-23px">Natallia Budai</h3></div><a href="https://www.linkedin.com/in/natallia-budai-333925160/overlay/about-this-profile/" target="_blank" class="team_card_link 
769w-inline-block"><div class="p_small">LinkedIn</div><div class="u-icon-24px cc-about w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
770<path fill-rule="evenodd" clip-rule="evenodd" d="M4.23099 19.769C3.92308 19.4611 3.92308 18.9619 4.23099 18.654L17.308 5.57691L4.23093 5.57691L4.23093 4L20 4L20 19.7691L18.4231 19.7691L18.4231 6.69195L5.34603 19.769C5.03812 20.0769 4.5389 20.0769 4.23099 19.769Z" fill="currentColor"/>
771</svg></div></a></div><div class="u-spacer-5"></div><div class="p_small u-text-color-gray-1">HR Lead</div></div></div><div class="team_slider_slide w-slide"><div class="team_card"><div class="team_card_image"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6890bdc55c4aca763fd88f5e_Image-2.png" loading="lazy" sizes="(max-width: 686px) 100vw, 686px" srcset="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6890bdc55c4aca763fd88f5e_Image-2-p-500.png 500w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6890bdc55c4aca763fd88f5e_Image-2.png 686w" alt="Person with curly brown hair wearing a black sleeveless top and a chain necklace with a circular pendant, smiling softly against a plain light background." class="u-image-100 cc-cover"/></div><div class="u-spacer-10 u-spacer-mob-10"></div><div class="u-horizontal-flex cc-center"><div><h3 class="p-23px cc-mob-23px">Katya Shkor</h3></div><a href="https://www.linkedin.com/in/lizaveta/" target="_blank" class="team_card_link w-inline-block"><div class="p_small">LinkedIn</div><div class="u-icon-24px cc-about w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
772<path fill-rule="evenodd" clip-rule="evenodd" d="M4.23099 19.769C3.92308 19.4611 3.92308 18.9619 4.23099 18.654L17.308 5.57691L4.23093 5.57691L4.23093 4L20 4L20 19.7691L18.4231 19.7691L18.4231 6.69195L5.34603 19.769C5.03812 20.0769 4.5389 20.0769 4.23099 19.769Z" fill="currentColor"/>
773</svg></div></a></div><div class="u-spacer-5"></div><div class="p_small u-text-color-gray-1">PR &amp; Communications Lead</div></div></div></div><div class="u-hide w-slider-arrow-left"><div class="w-icon-slider-left"></div></div><div class="u-hide w-slider-arrow-right"><div class="w-icon-slider-right"></div></div><div class="u-hide w-slider-nav w-round w-num"></div></div></div><div id="learning-culture" data-w-id="66a364c9-35eb-52b1-88a5-e453f0060d8a" class="section cc-culture u-hide"><div class="section_code"><div class="w-embed"><style>
774.portfolio_card.is-1:hover .p.u-text-color-gray-1 {
775  color: var(--black);
776}
777.portfolio_card.is-2:hover .p.u-text-color-gray-1 {
778  color: var(--wihte);
779}
780.portfolio_card:hover .portfolio_line {
781  opacity: 0;
782}
783
784</style></div></div><div class="section_text_wrapper cc-max-930 cc-au-culture"><div gsap="opacity" class="u-roboto-mono u-text-color-gray-1">[06]</div><div class="u-spacer-15 u-spacer-mob-15"></div><div gsap="opacity" class="p_small u-text-color-gray-1">our initiatives</div><div class="u-spacer-30 u-spacer-mob-20"></div><h2 gsap="opacity" class="h4 u-text-weight-600">Our learning culture</h2><div class="u-spacer-30 u-spacer-mob-20"></div><div class="cc-max-450"><p class="p">As a company founded by engineers, we continue to learn and support the growth of engineering skills.</p></div></div><div class="culture_layout"><div class="culture_card"><div class="culture_card-text_content"><h3 gsap="opacity" class="h2 u-text-weight-600">TechSpot</h3><p class="p">Tech events in Poland and online for everyone interested in software architecture and systems design. Like-minded people, top experts from leading companies, and a big engineering community.</p><div class="u-spacer-5"></div><a href="/techspot" class="button cc-green w-inline-block"><div class="button_circle cc-green"><div class="button_text cc-16px cc-button-red cc-green">more about TechSpot</div></div><div class="button_text cc-16px">more about TechSpot</div></a></div><div class="culture_card_image"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6837182753a09d43454772e2_CDS08820%20(1).jpg" loading="lazy" sizes="100vw" srcset="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6837182753a09d43454772e2_CDS08820%20(1)-p-500.jpg 500w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6837182753a09d43454772e2_CDS08820%20(1)-p-800.jpg 800w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6837182753a09d43454772e2_CDS08820%20(1)-p-1080.jpg 1080w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6837182753a09d43454772e2_CDS08820%20(1)-p-1600.jpg 1600w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6837182753a09d43454772e2_CDS08820%20(1)-p-2000.jpg 2000w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6837182753a09d43454772e2_CDS08820%20(1)-p-2600.jpg 2600w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6837182753a09d43454772e2_CDS08820%20(1)-p-3200.jpg 3200w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6837182753a09d43454772e2_CDS08820%20(1).jpg 6475w" alt="Large group of people socializing inside a modern room with exposed brick walls and yellow chairs, some wearing backpacks and engaged in conversation." 
784class="u-image-100 cc-cover"/></div></div><div class="culture_card cc-purple"><div class="culture_card-text_content"><h3 gsap="opacity" class="h2 u-text-weight-600">137 Podcast</h3><p class="p">A lively mix of tech talk and good vibes. Engaging conversations with founders, CTOs, and tech experts about the latest tech trends, engineering culture, and everything that excites us about the industry.</p><div class="u-spacer-5"></div><a href="https://www.youtube.com/@137-podcast" target="_blank" class="button cc-purple w-inline-block"><div class="button_circle cc-purple"><div class="button_text cc-16px cc-button-red cc-purple">Listen to the episodes </div></div><div class="button_text cc-16px">Listen to the episodes</div></a></div><div class="culture_card_image"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/679b3e2afd52f56743bbda88_Rectangle%20183.jpg" loading="lazy" sizes="(max-width: 1746px) 100vw, 1746px" srcset="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/679b3e2afd52f56743bbda88_Rectangle%20183-p-500.jpg 500w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/679b3e2afd52f56743bbda88_Rectangle%20183-p-800.jpg 800w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/679b3e2afd52f56743bbda88_Rectangle%20183-p-1080.jpg 1080w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/679b3e2afd52f56743bbda88_Rectangle%20183-p-1600.jpg 1600w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/679b3e2afd52f56743bbda88_Rectangle%20183.jpg 1746w" alt="Pixel art style image of two pink robots sitting on chairs facing each other with a small table between them holding a cup, on a black background with faint computer code text." class="u-image-100 cc-cover cc-2-au"/></div></div><div class="culture_card cc-pred"><div class="culture_card-text_content"><h3 gsap="opacity" class="h2 u-text-weight-600">Team Lead Club</h3><p class="p">Regular peer-to-peer sessions among team leaders at On The Spot. They share their unique experience, discuss challenges they face, and collaborate on solutions to build stronger R&amp;D teams.</p></div><div class="culture_card_image"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67c1d670f3f8b28b92b258db_Team%20Lead%20Club.jpg" loading="lazy" sizes="100vw" srcset="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67c1d670f3f8b28b92b258db_Team%20Lead%20Club-p-500.jpg 500w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67c1d670f3f8b28b92b258db_Team%20Lead%20Club-p-800.jpg 800w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67c1d670f3f8b28b92b258db_Team%20Lead%20Club-p-1080.jpg 1080w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67c1d670f3f8b28b92b258db_Team%20Lead%20Club-p-1600.jpg 1600w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67c1d670f3f8b28b92b258db_Team%20Lead%20Club-p-2000.jpg 2000w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67c1d670f3f8b28b92b258db_Team%20Lead%20Club-p-2600.jpg 2600w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67c1d670f3f8b28b92b258db_Team%20Lead%20Club.jpg 3000w" alt="Three people standing indoors engaged in conversation; one person with curly hair in a black shirt and gray pants is smiling and holding a bottle, another in a light pink sweater, and the third person with short brown hair in a white t-shirt facing them." class="u-image-100 cc-cover"/></div></div></div></div><div id="blog" class="section u-hide"><div class="section_text_wrapper cc-max-930"><h2 gsap="opacity" class="h4 u-text-weight-600">Our blog</h2></div><div class="u-spacer-60 u-spacer-mob-60"></div><div class="w-dyn-list"><div role="list" class="blog_list w-dyn-items"><div role="listitem" class="w-dyn-item"><div class="blog_card"><a href="/post/what-is-an-offshore-development-center" class="blog_card_image w-inline-block"><img loading="lazy" src="https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a6758424802c4ff9bc6d4f5_ODC_cover_01%20(1).png" alt="What is Offshore Development Center" sizes="100vw" srcset="https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a6758424802c4ff9bc6d4f5_ODC_cover_01%20(1)-p-500.png 500w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a6758424802c4ff9bc6d4f5_ODC_cover_01%20(1)-p-800.png 800w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a6758424802c4ff9bc6d4f5_ODC_cover_01%20(1)-p-1080.png 1080w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a6758424802c4ff9bc6d4f5_ODC_cover_01%20(1)-p-1600.png 1600w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a6758424802c4ff9bc6d4f5_ODC_cover_01%20(1).png 1920w" class="u-image-100 cc-cover"/></a><div class="blog_card_contert"><div><div><div class="w-dyn-list"><div role="list" class="blog_tags_layout w-dyn-items"><div role="listitem" class="w-dyn-item"><a aria-label="Read our blog" href="https://onthespotdev.com/blog?tags=Scaling+tech+teams" class="blog_tag w-inline-block"><div class="p_small cc-14px">Scaling tech teams</div></a></div></div></div></div><div class="u-spacer-20"></div><a aria-label="Read our blog" href="/post/what-is-an-offshore-development-center" class="w-inline-block"><h3 class="p-23px">What is an offshore development center: a complete guide</h3><div class="u-spacer-10"></div><p class="p_small u-text-color-gray-1">An offshore development center in Poland: full ownership, up to 50% lower cost, and buyout right </p></a></div><div class="u-spacer-20"></div><a aria-label="Read our blog" href="/post/what-is-an-offshore-development-center" class="blog_card_bottom_content w-inline-block"><div class="p_small cc-14px u-text-color-gray-1">Anton Vasiljev</div><div class="p_small cc-14px u-text-color-gray-1">7.31.2026</div></a></div></div></div><div role="listitem" class="w-dyn-item"><div class="blog_card"><a href="/post/ai-native-engineering-techspot-meetup" class="blog_card_image w-inline-block"><img loading="lazy" src="https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a427e7fcf4f75b8a24352e5_Cover.png" alt="" sizes="100vw" srcset="https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a427e7fcf4f75b8a24352e5_Cover-p-500.png 500w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a427e7fcf4f75b8a24352e5_Cover-p-800.png 800w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a427e7fcf4f75b8a24352e5_Cover-p-1080.png 1080w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a427e7fcf4f75b8a24352e5_Cover-p-1600.png 1600w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a427e7fcf4f75b8a24352e5_Cover.png 1920w" class="u-image-100 cc-cover"/></a><div class="blog_card_contert"><div><div><div class="w-dyn-list"><div role="list" class="blog_tags_layout w-dyn-items"><div role="listitem" class="w-dyn-item"><a aria-label="Read our blog" href="https://onthespotdev.com/blog?tags=Expert+conversations" class="blog_tag w-inline-block"><div class="p_small cc-14px">Expert conversations</div></a></div><div role="listitem" class="w-dyn-item"><a aria-label="Read our blog" href="https://onthespotdev.com/blog?tags=Industry+insights" class="blog_tag w-inline-block"><div class="p_small cc-14px">Industry insights</div></a></div></div></div></div><div class="u-spacer-20"></div><a aria-label="Read our blog" href="/post/ai-native-engineering-techspot-meetup" class="w-inline-block"><h3 class="p-23px">After prompts and context: the next shift in AI-native engineering</h3><div class="u-spacer-10"></div><p class="p_small u-text-color-gray-1">Key takeaways from TechSpot Core discussions</p></a></div><div class="u-spacer-20"></div><a aria-label="Read our blog" href="/post/ai-native-engineering-techspot-meetup" class="blog_card_bottom_content w-inline-block"><div class="p_small cc-14px u-text-color-gray-1">Katya Shkor</div><div class="p_small cc-14px u-text-color-gray-1">6.29.2026</div></a></div></div></div><div role="listitem" class="w-dyn-item"><div class="blog_card"><a href="/post/ai-impact-on-developers-and-hiring" class="blog_card_image w-inline-block"><img loading="lazy" src="https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a05764b8e4f629ba1dbc38a_AI%20impact%20on%20engineering%20roles%20and%20hiring%20practices.png" alt="" sizes="100vw" srcset="https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a05764b8e4f629ba1dbc38a_AI%20impact%20on%20engineering%20roles%20and%20hiring%20practices-p-500.png 500w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a05764b8e4f629ba1dbc38a_AI%20impact%20on%20engineering%20roles%20and%20hiring%20practices-p-800.png 800w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a05764b8e4f629ba1dbc38a_AI%20impact%20on%20engineering%20roles%20and%20hiring%20practices-p-1080.png 1080w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a05764b8e4f629ba1dbc38a_AI%20impact%20on%20engineering%20roles%20and%20hiring%20practices-p-1600.png 1600w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a05764b8e4f629ba1dbc38a_AI%20impact%20on%20engineering%20roles%20and%20hiring%20practices.png 1920w" class="u-image-100 cc-cover"/></a><div class="blog_card_contert"><div><div><div class="w-dyn-list"><div role="list" class="blog_tags_layout w-dyn-items"><div role="listitem" class="w-dyn-item"><a aria-label="Read our blog" href="https://onthespotdev.com/blog?tags=Industry+insights" class="blog_tag w-inline-block"><div class="p_small cc-14px">Industry insights</div></a></div><div role="listitem" class="w-dyn-item"><a aria-label="Read our blog" href="https://onthespotdev.com/blog?tags=Scaling+tech+teams" class="blog_tag w-inline-block"><div class="p_small cc-14px">Scaling tech teams</div></a></div></div></div></div><div class="u-spacer-20"></div><a aria-label="Read our blog" href="/post/ai-impact-on-developers-and-hiring" class="w-inline-block"><h3 class="p-23px">AI impact on engineering roles and hiring practices</h3><div class="u-spacer-10"></div><p class="p_small u-text-color-gray-1">Insights from our internal research and conversations with engineering leaders at top tech companies.</p></a></div><div class="u-spacer-20"></div><a aria-label="Read our blog" href="/post/ai-impact-on-developers-and-hiring" class="blog_card_bottom_content w-inline-block"><div class="p_small cc-14px u-text-color-gray-1">Yana Tsiareshchanka</div><div class="p_small cc-14px u-text-color-gray-1">4.28.2026</div></a></div></div></div></div></div><div class="u-spacer-30 u-spacer-mob-30"></div><div class="button_center_wrapper"><a data-wf--button--variant="base" href="/blog" class="button w-inline-block"><div class="button_circle"><div class="button_text cc-16px cc-button-red">view all</div></div><div class="button_text cc-16px">view all</div></a></div></div><section id="cta" class="section balls"><div class="section_text_wrapper cc-balls"><h2 id="baalls" gsap="opacity" class="h4 u-text-weight-600">This is all ab<span class="u-font-gridular">o</span>ut us</h2><div class="u-spacer-30 u-spacer-mob-40"></div><a gsap="opacity" href="/contact-us" class="button big w-inline-block"><div class="button_circle big"><div class="button_text cc-16px cc-button-black">
784Tell us your story</div></div><div class="button_text cc-16px">Tell us your story</div></a></div><div id="matter-container" class="balls_wrapepr"></div><div class="balls_border"></div></section><div data-wf--footer-new--variant="base" class="footer"><div gsap="line" class="footer_line"></div><div gsap="opacity" class="footer_layout is-new"><div id="w-node-_60d02768-8f19-d614-8658-95335e3d1ab4-25fde2e6" class="footer_logo-wrapper"><a href="/" class="footer_logo cc-black cc-2 w-inline-block"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67c940cb38114e78c5047b3d_Group%20461%20(1).svg" loading="lazy" alt="" class="u-image-100"/></a><a href="/" class="footer_logo cc-white cc-2 w-inline-block"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6739c1eb0f9259696a1869b0_Group%20461.svg" loading="lazy" alt="" class="u-image-100"/></a><div class="u-spacer-40 u-spacer-mob-30"></div><div id="w-node-_31beeff8-8682-2b78-414b-aee1177629d4-177629d4" class="navbar_dd-social-wrapper"><div class="u-horizontal-flex cc-gap-10"><a href="https://linkedin.com/company/on-the-spot-dev" target="_blank" class="footer_social_link w-inline-block"><div class="u-icon-18px w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 19" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
785<path fill-rule="evenodd" clip-rule="evenodd" d="M3.375 2.93164C2.75368 2.93164 2.25 3.43532 2.25 4.05664V15.3066C2.25 15.9279 2.75368 16.4316 3.375 16.4316H14.625C15.2463 16.4316 15.75 15.9279 15.75 15.3066V4.05664C15.75 3.43532 15.2463 2.93164 14.625 2.93164H3.375ZM6.39057 5.93368C6.39479 6.65087 5.85796 7.09278 5.22092 7.08962C4.6208 7.08645 4.09768 6.60868 4.10084 5.93474C4.10401 5.30087 4.60498 4.79145 5.25573 4.80622C5.91596 4.82099 6.39479 5.30509 6.39057 5.93368ZM9.20977 8.00296H7.31978H7.31872V14.4228H9.31627V14.2731C9.31627 13.9881 9.31605 13.7031 9.31582 13.4181C9.31522 12.6577 9.31455 11.8965 9.31845 11.1364C9.3195 10.9518 9.3279 10.7599 9.37537 10.5837C9.55357 9.92562 10.1453 9.50059 10.8055 9.60507C11.2295 9.67144 11.51 9.91722 11.6281 10.317C11.701 10.5669 11.7337 10.8358 11.7368 11.0964C11.7454 11.8821 11.7442 12.6678 11.743 13.4535C11.7425 13.7309 11.7421 14.0084 11.7421 14.2857V14.4218H13.746V14.2678C13.746 13.9288 13.7458 13.5899 13.7456 13.251C13.7452 12.4038 13.7448 11.5567 13.747 10.7093C13.7481 10.3264 13.707 9.94887 13.6131 9.57867C13.4729 9.02809 13.1828 8.57247 12.7114 8.24344C12.377 8.00928 12.01 7.85847 11.5997 7.84159C11.553 7.83965 11.5059 7.83711 11.4586 7.83455C11.2488 7.82321 11.0356 7.81169 10.835 7.85214C10.2613 7.9671 9.7572 8.22972 9.37642 8.69269C9.33217 8.74579 9.2889 8.79972 9.22433 8.88019L9.20977 8.89842V8.00296ZM4.26123 14.4249H6.24932V8.00714H4.26123V14.4249Z" fill="currentColor"/>
786</svg></div></a><a href="https://www.youtube.com/@onthespotdev" target="_blank" class="footer_social_link w-inline-block"><div class="u-icon-18px w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 19" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
787<path d="M14.7559 6.82087C14.6876 6.56749 14.5541 6.33642 14.3688 6.15064C14.1834 5.96487 13.9527 5.83089 13.6994 5.76202C12.7605 5.5042 9.00415 5.5 9.00415 5.5C9.00415 5.5 5.24841 5.49581 4.30888 5.74223C4.05581 5.81427 3.82551 5.95015 3.64009 6.13683C3.45467 6.32352 3.32035 6.55473 3.25002 6.80828C3.0024 7.74721 3 9.69464 3 9.69464C3 9.69464 2.9976 11.6517 3.24343 12.581C3.38133 13.0948 3.78605 13.5007 4.30048 13.6392C5.24901 13.8971 8.99516 13.9013 8.99516 13.9013C8.99516 13.9013 12.7515 13.9055 13.6904 13.6596C13.9438 13.5909 14.1747 13.4572 14.3606 13.2718C14.5464 13.0864 14.6806 12.8557 14.7499 12.6026C14.9981 11.6642 14.9999 9.71742 14.9999 9.71742C14.9999 9.71742 15.0119 7.75981 14.7559 6.82087ZM7.8026 11.4988L7.8056 7.90131L10.9276 9.70303L7.8026 11.4988Z" fill="currentColor"/>
788</svg></div></a><a href="https://t.me/onthespotjob" target="_blank" class="footer_social_link w-inline-block"><div class="u-icon-18px w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewB
788ox="0 0 18 19" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
789<path d="M13.325 4.55918L4.46694 8.22481C3.86241 8.48538 3.86591 8.84728 4.35603 9.00866L6.63025 9.76999L11.8921 6.20729C12.1409 6.04484 12.3683 6.13223 12.1814 6.31023L7.91824 10.4391H7.91724L7.91824 10.4396L7.76136 12.9552C7.99118 12.9552 8.0926 12.8421 8.2215 12.7086L9.32614 11.5559L11.6238 13.3772C12.0475 13.6276 12.3518 13.4989 12.4572 12.9563L13.9655 5.32801C14.1199 4.66373 13.7292 4.36295 13.325 4.55918Z" fill="currentColor"/>
790</svg></div></a><a href="https://instagram.com/on.the.spot.daily" target="_blank" class="footer_social_link w-inline-block"><div class="u-icon-18px w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 19" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
791<path d="M8.99961 11.8996C10.3251 11.8996 11.3996 10.8251 11.3996 9.49961C11.3996 8.17413 10.3251 7.09961 8.99961 7.09961C7.67413 7.09961 6.59961 8.17413 6.59961 9.49961C6.59961 10.8251 7.67413 11.8996 8.99961 11.8996Z" fill="currentColor"/>
792<path d="M11.9992 2.2998H5.9992C3.6838 2.2998 1.7998 4.18441 1.7998 6.50041V12.5004C1.7998 14.8158 3.68441 16.6998 6.00041 16.6998H12.0004C14.3158 16.6998 16.1998 14.8152 16.1998 12.4992V6.4992C16.1998 4.1838 14.3152 2.2998 11.9992 2.2998ZM8.9998 13.0998C7.0144 13.0998 5.3998 11.4852 5.3998 9.4998C5.3998 7.5144 7.0144 5.8998 8.9998 5.8998C10.9852 5.8998 12.5998 7.5144 12.5998 9.4998C12.5998 11.4852 10.9852 13.0998 8.9998 13.0998ZM13.1998 5.8998C12.8686 5.8998 12.5998 5.631 12.5998 5.2998C12.5998 4.9686 12.8686 4.6998 13.1998 4.6998C13.531 4.6998 13.7998 4.9686 13.7998 5.2998C13.7998 5.631 13.531 5.8998 13.1998 5.8998Z" fill="currentColor"/>
793</svg></div></a><a href="https://www.facebook.com/onthespotdev/" target="_blank" class="footer_social_link w-inline-block"><div class="u-icon-18px w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 19" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
794<path d="M16.5 9.72747C16.5 5.56002 13.1422 2.18164 9 2.18164C4.85786 2.18164 1.5 5.56002 1.5 9.72747C1.5 13.4937 4.24263 16.6155 7.82812 17.1816V11.9087H5.92383V9.72747H7.82812V8.06503C7.82812 6.17386 8.94787 5.12923 10.6609 5.12923C11.4816 5.12923 12.3398 5.27661 12.3398 5.27661V7.1336H11.3941C10.4625 7.1336 10.1719 7.71531 10.1719 8.31207V9.72747H12.2519L11.9194 11.9087H10.1719V17.1816C13.7574 16.6155 16.5 13.4939 16.5 9.72747Z" fill="currentColor"/>
795</svg></div></a></div></div><div class="u-spacer-40 u-spacer-mob-30"></div><div class="u-vertical-flex cc-gap-15"><div class="u-vertical-flex cc-gap-15"><div class="p_small cc-14px u-text-color-gray-1">Email</div><a href="mailto:[email protected]" class="navbar-link">[email protected]</a></div><div class="u-vertical-flex cc-gap-15"><div class="p_small cc-14px u-text-color-gray-1">Address</div><div class="p_small">12a Montpellier Parade, Harrogate, United Kingdom, HG1 2TJ</div></div></div></div><div class="footer_right-wrapper"><div class="p_small cc-14px u-text-color-gray-1">Company</div><div class="u-horizontal-flex cc-gap-20 mob-grid-3col"><a href="/cybersecurity-software-development" class="u-horizontal-flex cc-gap-5 cc-center navbar-link w-inline-block"><div class="hero-circle"></div><div class="p_small">Cybersecurity</div></a><a href="/careers" class="navbar-link">Careers</a><a id="w-node-d83e3171-1b3d-faf9-2e78-dc2925fde2f2-25fde2e6" href="/portfolio" class="navbar-link">Portfolio</a><a id="w-node-_3880ea61-06b2-d261-a5b8-77cffa04a430-25fde2e6" href="/blog" class="navbar-link">Blog</a><a id="w-node-d83e3171-1b3d-faf9-2e78-dc2925fde2f0-25fde2e6" href="/about-us" aria-current="page" class="navbar-link w--current">About us</a><a id="w-node-d83e3171-1b3d-faf9-2e78-dc2925fde2f4-25fde2e6" href="/techspot" class="navbar-link">TechSpot Events</a></div><div class="footer_dropdowns-wrapper"><div class="burger_dropdown-wrapper"><div class="burger_hor-wrapper"><div class="burger_link-main">Services</div><div class="burger_dropdown-icon w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewB
795ox="0 0 13 13" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
796<path fill-rule="evenodd" clip-rule="evenodd" d="M11.0684 4.14113C11.2637 4.32931 11.2637 4.6344 11.0684 4.82258L6.21484 9.5L1.36129 4.82258C1.16603 4.6344 1.16603 4.32931 1.36129 4.14113C1.55655 3.95296 1.87313 3.95296 2.0684 4.14113L6.21484 8.13711L10.3613 4.14113C10.5566 3.95296 10.8731 3.95296 11.0684 4.14113Z" fill="currentcolor"/>
797<mask id="mask0_5134_1837" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="13" height="13">
798<rect x="12.2148" y="0.5" width="12" height="12" transform="rotate(90 12.2148 0.5)" fill="currentcolor"/>
799</mask>
800<g mask="url(#mask0_5134_1837)">
801</g>
802</svg></div></div><div class="burger_dropdown-links-list is-grid cc-active"><div class="u-spacer-mob-1"></div><div id="w-node-bf242d12-dc00-b7a3-b25e-2c94a7d0c23e-25fde2e6" class="burger_footer-3col"></div><div id="w-node-_27848e8a-3c84-1139-2a4e-4ad507544484-25fde2e6" class="burger_footer-3col height-10"></div><a id="w-node-d8145387-3a4a-319d-319b-e0469a2da5c0-25fde2e6" href="/offshore-development-center" class="burger_link-small">Offshore Development Center</a><a id="w-node-d8145387-3a4a-319d-319b-e0469a2da5c2-25fde2e6" href="/custom-software-development" class="burger_link-small">Custom software development</a><a id="w-node-d8145387-3a4a-319d-319b-e0469a2da5d2-25fde2e6" href="/cto-as-a-service" class="burger_link-small">Fractional CTO services</a><a id="w-node-d8145387-3a4a-319d-319b-e0469a2da5cc-25fde2e6" href="/tech-recruitment-services" class="burger_link-small">Tech recruitment services</a><a id="w-node-d8145387-3a4a-319d-319b-e0469a2da5c6-25fde2e6" href="/dedicated-development-team" class="burger_link-small">Dedicated development team</a></div></div></div></div></div><div class="u-spacer-20"></div><div class="u-spacer-20"></div><div class="footer_policy"><div><div class="u-horizontal-flex cc-gap-20"><a href="/privacy-policy" class="p_small u-text-color-gray-1 u-text-underline">Privacy Policy</a><a href="/terms-of-service" class="p_small u-text-color-gray-1 u-text-underline">Terms of Service</a></div></div><div class="p_small u-text-color-gray-1">© <span class="current-year">2026</span> On The Spot Development. All rights reserved.</div></div><div class="js w-embed w-script">
802<script>
803  document.addEventListener('click', (event) => {
804    const currentHeader = event.target.closest('.burger_hor-wrapper');
805    if (!currentHeader) return;
806
807    const currentWrapper = currentHeader.closest('.burger_dropdown-wrapper');
808    if (!currentWrapper) return;
809
810    const footerContainer = currentWrapper.closest('.footer_right-wrapper');
811    if (!footerContainer) return;
812
813    const allWrappers = footerContainer.querySelectorAll('.burger_dropdown-wrapper');
814
815    allWrappers.forEach((wrapper) => {
816        const list = wrapper.querySelector('.burger_dropdown-links-list');
817        const icon = wrapper.querySelector('.burger_dropdown-icon');
818
819        if (wrapper === currentWrapper) {
820            list?.classList.toggle('cc-active');
821            icon?.classList.toggle('cc-active');
822        } else {
823            list?.classList.remove('cc-active');
824            icon?.classList.remove('cc-active');
825        }
826    });
827});
828
829</script>
829
830
831<script>
832  document.querySelectorAll('.current-year').forEach(el => {
833    el.textContent = new Date().getFullYear();
834  });
835</script>
835
836</div></div></div></div>
836<script src="https://d3e54v103j8qbb.cloudfront.net/js/jquery-3.5.1.min.dc5e7f18c8.js?site=6739bcfd5737b87720acef3b" type="text/javascript" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
836<script src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/js/webflow.schunk.b243a97fed2d3524.js" type="text/javascript" integrity="sha384-1qoY9V20fk3dh/6Nz6DOe3XDw3cDv00UAm/Tu2DA7X9iZPUOIX7ggPewjMTqxCpt" crossorigin="anonymous"></script>
836<script src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/js/webflow.schunk.a9067b7bcde82690.js" type="text/javascript" integrity="sha384-Xtr4LsdFK0np4WhRPMMp90tEh5i1TnWZhICvkAT/YxR9ybQ6Vxb6Z+AmQ7/IphIX" crossorigin="anonymous"></script>
836<script src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/js/webflow.schunk.9310cdf0424ce3c2.js" type="text/javascript" integrity="sha384-LhYKOBaYK++92modEjByVfgsdBQO/S7Qg8ljYvHiq74dqT5Mpfdm6M3Nc4zsk7uS" crossorigin="anonymous"></script>
836<script src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/js/webflow.7419005b.861fc65a3e65ff53.js" type="text/javascript" integrity="sha384-+Cokf6NEHni7lluOJaeAETpHno6Ma0rYp3eyf8JZufNq+UOshB9z662AzPqjVJ3A" crossorigin="anonymous"></script>
836<script src="https://cdn.prod.website-files.com/gsap/3.15.0/gsap.min.js" type="text/javascript"></script>
836<script src="https://cdn.prod.website-files.com/gsap/3.15.0/ScrollTrigger.min.js" type="text/javascript"></script>
836<script src="https://cdn.prod.website-files.com/gsap/3.15.0/SplitText.min.js" type="text/javascript"></script>
836<script type="text/javascript">gsap.registerPlugin(ScrollTrigger,SplitText);</script>
836<script src="https://cdn.jsdelivr.net/gh/studio-freight/[email protected]/bundled/lenis.min.js" integrity="sha384-GuiQQtSonx5JfFrW04viv7KCVyTAZZKHCXVtcve0DYt8fUPKLdigmPuBh9XBEUD+" crossorigin="anonymous"></script>
vendor: 1 bytes, line 836
836
837<script src="https://cdn.jsdelivr.net/npm/[email protected]/umd/index.min.js" integrity="sha384-wQImCCD/id1jPTwSloatzKlEpnEAQ5aH8H2Ud27FnNcJ1lf2+hB75ctoWnWxyD8X" crossorigin="anonymous"></script>
vendor: 1 bytes, line 837
837
838<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.11.4/gsap.min.js" integrity="sha384-xjP10QrW7PA6WOlPOkWwDcyKJeREvuwWVAc5aS9/ObhcWcdopa9q3l7NXObVJQ8r" crossorigin="anonymous"></script>
vendor: 1 bytes, line 838
838
839<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.11.4/ScrollTrigger.min.js" integrity="sha384-V0oE5KjuA5fwJoB7Ve6EjvvRB2skf+fPQ1IncPdJ4HurEaHbSKYUoW3Y13UzFcpD" crossorigin="anonymous"></script>
vendor: 1 bytes, line 839
839
840<script src="https://cdnjs.cloudflare.com/ajax/libs/matter-js/0.18.0/matter.min.js" integrity="sha512-5T245ZTH0m0RfONiFm2NF0zcYcmAuNzcGyPSQ18j8Bs5Pbfhp5HP1hosrR8XRt5M3kSRqzjNMYpm2+it/AUX/g==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
840
841<!-- Google Tag Manager (noscript) -->
vendor: 68 bytes, lines 841-842
841
842<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
842GTM-5D4P4QGM
vendor: 83 bytes, lines 842-843
842"
843height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
844<!-- End Google Tag Manager (noscript) -->
845<script>
846// LENIS SMOOTH SCROLL
847let lenis;
848if (Webflow.env("editor") === undefined) {
849  lenis = new Lenis({
850    lerp: 0.2,
851    wheelMultiplier: 1.3,
852    gestureOrientation: "vertical",
853    normalizeWheel: false,
854    smoothTouch: false
855  });
856  function raf(time) {
857    lenis.raf(time);
858    requestAnimationFrame(raf);
859  }
860  requestAnimationFrame(raf);
861}
862$("[data-lenis-start]").on("click", function () {
863  lenis.start();
864});
865$("[data-lenis-stop]").on("click", function () {
866  lenis.stop();
867});
868$("[data-lenis-toggle]").on("click", function () {
869  $(this).toggleClass("stop-scroll");
870  if ($(this).hasClass("stop-scroll")) {
871    lenis.stop();
872  } else {
873    lenis.start();
874  }
875});
876</script>
876
877
878<script>
879
880    if (window.innerWidth > 479) {
881        const bigButtons = document.querySelectorAll('.button.big');
882
883        bigButtons.forEach(button => {
884            const circle = button.querySelector('.button_circle.big');
885            const textA = button.querySelector('.button_text.cc-16px:not(.cc-button-black)');
886            const textB = button.querySelector('.button_text.cc-16px.cc-button-black');
887
888            button.addEventListener('mouseenter', () => {
889                gsap.to(circle, {
890                    width: '18em',
891                    height: '18em',
892                    x: '-3em',
893                    duration: 0.5
894                });
895
896                gsap.to(textA, {
897                    x: '-0.7em',
898                    duration: 0.5
899                });
900
901                gsap.to(textB, {
902                    x: '2.4em',
903                    duration: 0.5
904                });
905            });
906
907            button.addEventListener('mouseleave', () => {
908                gsap.to(circle, {
909                    width: '0.31em',
910                    height: '0.31em',
911                    x: '0',
912                    duration: 0.5
913                });
914
915                gsap.to(textA, {
916                    x: '0',
917                    duration: 0.5
918                });
919
920                gsap.to(textB, {
921                    x: '0',
922                    duration: 0.5
923                });
924            });
925        });
926    }
927</script>
927
928
929<script>
930    if (window.innerWidth > 479) {
931        const buttons = document.querySelectorAll('.button:not(.big)'); // Изменено на :not(.big)
932
933        buttons.forEach(button => {
934            const circle = button.querySelector('.button_circle');
935            const textA = button.querySelector('.button_text.cc-16px:not(.cc-button-red)');
936            const textB = button.querySelector('.button_text.cc-16px.cc-button-red');
937
938            button.addEventListener('mouseenter', () => {
939                gsap.to(circle, {
940                    width: '27em',
941                    height: '27em',
942                    x: '-2em',
943                    duration: 0.5
944                });
945
946                gsap.to(textA, {
947                    x: '-0.31em',
948                    duration: 0.5
949                });
950
951                gsap.to(textB, {
952                    x: '1.69em',
953                    duration: 0.5
954                });
955            });
956
957            button.addEventListener('mouseleave', () => {
958                gsap.to(circle, {
959                    width: '0.31em',
960                    height: '0.31em',
961                    x: '0',
962                    duration: 0.5
963                });
964
965                gsap.to(textA, {
966                    x: '0',
967                    duration: 0.5
968                
969                });
970
971                gsap.to(textB, {
972                    x: '0',
973                    duration: 0.5
974                });
975            });
976        });
977    }
978</script>
978
979
980<style>
981.otscc-root { font-size: 1.1111vw; font-family: inherit; color: var(--black, #1c1c1c); -webkit-font-smoothing: antialiased; }
982.otscc-root *, .otscc-root *::before, .otscc-root *::after { box-sizing: border-box; }
983.otscc-root button { font-family: inherit; cursor: pointer; }
984.otscc-cookie-icon { width: 1.6875em; height: 1.5em; flex: 0 0 auto; object-fit: contain; }
985.otscc-banner { position: fixed; z-index: 99990; left: 50%; bottom: 1.25em; transform: translateX(-50%); width: calc(100% - 2em); max-width: 48.375em; background: var(--gray-3, #f4f4f4); border-radius: 0.75em; padding: 0.75em 0.75em 0.75em 0.9375em; display: none; align-items: center; gap: 1.5em; box-shadow: 0 0.5em 2em rgba(0,0,0,.10); }
986.otscc-banner.otscc-visible { display: flex; }
987.otscc-banner__group { display: flex; align-items: center; gap: 0.625em; flex: 1 1 auto; min-width: 0; }
988.otscc-banner__text { flex: 1 1 auto; font-size: 0.75em; line-height: 1.4; margin: 0; }
989.otscc-banner__actions { display: flex; gap: 0.3125em; flex: 0 0 auto; }
990.otscc-btn { position: relative; overflow: hidden; isolation: isolate; display: inline-block; border-radius: 0.625em; padding: 0.625em 1.25em 0.5em 1em; font-size: 1em; line-height: 1.2; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; transition: color .2s ease; }
991.otscc-btn::before { content: ""; position: absolute; top: 50%; left: 50%; width: 15em; height: 15em; margin-top: -7.5em; margin-left: -7.5em; border-radius: 50%; transform: scale(0); transition: transform .35s ease; z-index: -1; pointer-events: none; }
992.otscc-btn--ghost { background: transparent; border: 0.0625em solid var(--black, #1c1c1c); color: var(--black, #1c1c1c); }
993.otscc-btn--ghost::before { background: var(--black, #1c1c1c); }
994.otscc-btn--ghost:hover { color: var(--white, #fff); }
995.otscc-btn--ghost:hover::before { transform: scale(1); }
996.otscc-btn--solid { background: var(--graft, #292929); border: 0.0625em solid var(--graft, #292929); color: var(--white, #fff); }
997.otscc-btn--solid::before { background: var(--white, #fff); }
998.otscc-btn--solid:hover { color: var(--graft, #292929); }
999.otscc-btn--solid:hover::before { transform: scale(1); }
1000.otscc-btn:focus-visible { outline: 0.125em solid var(--pink, #e81c50); outline-offset: 0.125em; }
1001.otscc-overlay { position: fixed; inset: 0; z-index: 99991; background: rgba(0,0,0,.25); display: none; }
1002.otscc-overlay.otscc-visible { display: block; }
1003.otscc-modal { position: fixed; z-index: 99992; left: 50%; bottom: 1.25em; transform: translateX(-50%); width: calc(100% - 2em); max-width: 48.375em; max-height: calc(100vh - 2.5em); overflow-y: auto; background: var(--gray-3, #f4f4f4); border-radius: 0.625em; padding: 0.75em 0.75em 0.75em 0.9375em; display: none; }
1004.otscc-modal.otscc-visible { display: block; }
1005.otscc-modal__head { position: relative; margin-bottom: 0.9375em; }
1006.otscc-modal__title { font-size: 1.6875em; line-height: 1; font-weight: 500; margin: 0; }
1007.otscc-modal__lead { display: flex; gap: 3em; max-width: 62.5em; color: var(--gray-1, #9d9d9d); font-size: 0.875em; line-height: 1.1; margin-bottom: 3.125em; }
1008.otscc-modal__lead p { margin: 0; flex: 1; }
1009.otscc-modal__lead a { color: var(--graft, #292929); text-decoration: underline; }
1010.otscc-close { position: absolute; top: 0; right: 0; width: 1.5em; height: 1.5em; border: 0; background: none; display: flex; align-items: center; justify-content: center; color: var(--gray-1, #9d9d9d); padding: 0; }
1011.otscc-close svg { width: 1.5em; height: 1.5em; }
1012.otscc-close:hover { color: var(--black, #1c1c1c); }
1013.otscc-cat { background: var(--white, #fff); border-radius: 0.3125em; padding: 0.9375em; margin-bottom: 0.3125em; }
1014.otscc-cat__row { display: flex; align-items: center; gap: 1.25em; }
1015.otscc-cat__toggle-head { display: flex; align-items: center; gap: 1.25em; flex: 1 1 auto; background: none; border: 0; padding: 0; text-align: left; color: inherit; }
1016.otscc-cat__plus { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 1em; height: 1em; flex: 0 0 auto; color: var(--black, #1c1c1c); }
1017.otscc-icon-plus, .otscc-icon-cross { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; transition: opacity .2s ease, transform .2s ease; }
1018.otscc-icon-plus { font-size: 1.125em; line-height: 1; font-weight: 300;
1018 opacity: 1; transform: scale(1); }
1019.otscc-icon-cross { opacity: 0; transform: scale(.5); }
1020.otscc-icon-cross svg { width: 0.75em; height: 0.75em; }
1021.otscc-cat.otscc-open .otscc-icon-plus { opacity: 0; transform: scale(.5); }
1022.otscc-cat.otscc-open .otscc-icon-cross { opacity: 1; transform: scale(1); }
1023.otscc-cat__name { font-size: 1.4375em; line-height: 1.1; font-weight: 500; }
1024.otscc-cat__always { color: var(--purple, #494aa8); font-size: 1em; line-height: 1.2; flex: 0 0 auto; }
1025.otscc-cat__desc-wrap { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .3s ease, margin-top .3s ease; margin-top: 0; }
1026.otscc-cat__desc-wrap > .otscc-cat__desc { overflow: hidden; min-height: 0; margin: 0; color: var(--gray-1, #9d9d9d); font-size: 0.875em; line-height: 1.1; max-width: 30em; }
1027.otscc-cat.otscc-open .otscc-cat__desc-wrap { grid-template-rows: 1fr; margin-top: 0.9375em; }
1028.otscc-switch { position: relative; flex: 0 0 auto; width: 2.625em; height: 1.5em; }
1029.otscc-switch input { position: absolute; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
1030.otscc-switch__ui { position: absolute; inset: 0; border-radius: 6.25em; background: var(--gray-2, #e6e6e6); transition: background .15s ease; pointer-events: none; }
1031.otscc-switch__ui::after { content: ""; position: absolute; top: 0.09375em; left: 0.09375em; width: 1.3125em; height: 1.3125em; border-radius: 50%; background: #fff; transition: transform .15s ease; }
1032.otscc-switch input:checked + .otscc-switch__ui { background: var(--purple, #494aa8); }
1033.otscc-switch input:checked + .otscc-switch__ui::after { transform: translateX(1.125em); }
1034.otscc-switch input:focus-visible + .otscc-switch__ui { outline: 0.125em solid var(--purple, #494aa8); outline-offset: 0.125em; }
1035.otscc-modal__actions { display: flex; justify-content: flex-end; gap: 0.3125em; margin-top: 1.5625em; }
1036@media (max-width: 479px) {
1037.otscc-cookie-icon { width: 7.5vw; height: 6.6667vw; }
1038.otscc-banner { flex-direction: column; align-items: stretch; gap: 4.44vw; padding: 3.3333vw 3.3333vw 3.3333vw 4.1667vw; border-radius: 3.33vw; box-shadow: 0 2.22vw 8.89vw rgba(0,0,0,.10); width: calc(100% - 8.89vw); max-width: none; }
1039.otscc-banner__group { gap: 2.7778vw; }
1040.otscc-banner__text { font-size: 4.72vw; }
1041.otscc-banner__actions { flex-direction: column; gap: 1.39vw; }
1042.otscc-btn { text-align: center; padding: 2.78vw 5.56vw 2.22vw 4.44vw; font-size: 4.44vw; border-radius: 2.78vw; }
1043.otscc-btn--ghost, .otscc-btn--solid { border-width: 0.28vw; }
1044.otscc-btn::before { width: 66.67vw; height: 66.67vw; margin-top: -33.33vw; margin-left: -33.33vw; }
1045.otscc-btn:focus-visible { outline-width: 0.56vw; outline-offset: 0.56vw; }
1046.otscc-modal { padding: 3.33vw 3.33vw 3.33vw 4.17vw; border-radius: 2.78vw; max-height: calc(100vh - 11.11vw); width: calc(100% - 8.89vw); max-width: none; }
1047.otscc-modal__head { margin-bottom: 4.17vw; }
1048.otscc-modal__title { font-size: 7.5vw; }
1049.otscc-modal__lead { flex-direction: column; gap: 3.33vw; font-size: 3.89vw; margin-bottom: 13.89vw; }
1050.otscc-close { width: 6.67vw; height: 6.67vw; }
1051.otscc-close svg { width: 6.67vw; height: 6.67vw; }
1052.otscc-cat { padding: 4.17vw; margin-bottom: 1.39vw; border-radius: 1.39vw; }
1053.otscc-cat__row { gap: 5.56vw; }
1054.otscc-cat__toggle-head { gap: 5.56vw; }
1055.otscc-cat__plus { width: 4.44vw; height: 4.44vw; }
1056.otscc-icon-plus { font-size: 5vw; }
1057.otscc-icon-cross svg { width: 3.33vw; height: 3.33vw; }
1058.otscc-cat__name { font-size: 6.39vw; }
1059.otscc-cat__always { font-size: 4.44vw; }
1060.otscc-cat.otscc-open .otscc-cat__desc-wrap { margin-top: 4.17vw; }
1061.otscc-cat__desc-wrap > .otscc-cat__desc { font-size: 3.89vw; max-width: none; }
1062.otscc-switch { width: 11.67vw; height: 6.67vw; }
1063.otscc-switch__ui { border-radius: 27.78vw; }
1064.otscc-switch__ui::after { width: 5.83vw; height: 5.83vw; top: 0.42vw; left: 0.42vw; }
1065.otscc-switch input:checked + .otscc-switch__ui::after { transform: translateX(5vw); }
1066.otscc-switch input:focus-visible + .otscc-switch__ui { outline-width: 0.56vw; outline-offset: 0.56vw; }
1067.otscc-modal__actions { flex-direction: column; gap: 1.39vw; margin-top: 6.94vw; }
1068}
1069@media (prefers-reduced-motion: reduce) { .otscc-root *, .otscc-root *::before, .otscc-root *::after { transition: none !important; } }
1070</style>
1071
1072<div class="otscc-root">
1073<div class="otscc-banner" id="otsccBanner" role="dialog" aria-label="Cookie consent" aria-live="polite">
1074<div class="otscc-banner__group">
1075<img class="otscc-cookie-icon" src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6a8856e7f99449534a56213b_cookie.png" alt="cookie-icon">
1076<p class="otscc-banner__text">We use cookies to run this site, understand how it is used, and measure our marketing.</p>
1077</div>
1078<div class="otscc-banner__actions">
1079<button type="button" class="otscc-btn otscc-btn--ghost" id="otsccCustomise">Customise</button>
1080<button type="button" class="otscc-btn otscc-btn--ghost" id="otsccBannerNecessary">Necessary only</button>
1081<button type="button" class="otscc-btn otscc-btn--solid" id="otsccBannerAcceptAll">Accept all</button>
1082</div>
1083</div>
1084<div class="otscc-overlay" id="otsccOverlay"></div>
1085<div class="otscc-modal" id="otsccModal" role="dialog" aria-modal="true" aria-labelledby="otsccModalTitle">
1086<div class="otscc-modal__head">
1087<h2 class="otscc-modal__title" id="otsccModalTitle">Cookie preferences</h2>
1088<button type="button" class="otscc-close" id="otsccClose" aria-label="Close">
1089<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false">
1090<path d="M0.10059 0.10059C0.23471 -0.0335297 0.452161 -0.0335297 0.58628 0.10059L23.8994 23.4137C24.0335 23.5478 24.0335 23.7653 23.8994 23.8994C23.7653 24.0335 23.5478 24.0335 23.4137 23.8994L0.10059 0.58628C-0.0335298 0.45216 -0.0335297 0.23471 0.10059 0.10059Z" fill="currentColor"/>
1091<path d="M0.10059 23.8994C-0.0335299 23.7653 -0.0335299 23.5478 0.10059 23.4137L23.4137 0.10059C23.5478 -0.03353 23.7653 -0.0335299 23.8994 0.10059C24.0335 0.234709 24.0335 0.45216 23.8994 0.58628L0.58628 23.8994C0.45216 24.0335 0.234709 24.0335 0.10059 23.8994Z" fill="currentColor"/>
1092</svg>
1093</button>
1094</div>
1095<div class="otscc-modal__lead">
1096<p>Essential cookies keep the site working and cannot be turned off. Everything else is your choice, and you can change it at any time from the footer.</p>
1097<p>Full list of cookies, with providers and retention periods, is in our <a href="/cookie-policy">Cookie Policy.</a></p>
1098</div>
1099<div class="otscc-cat" data-cat>
1100<div class="otscc-cat__row">
1101<button type="button" class="otscc-cat__toggle-head" aria-expanded="false">
1102<span class="otscc-cat__plus" aria-hidden="true">
1103<span class="otscc-icon-plus">+</span>
1104<span class="otscc-icon-cross">
1105<svg viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
1106<path d="M12.9194 2.69783C13.1635 2.45375 13.5592 2.45375 13.8033 2.69783C14.0474 2.94191 14.0474 3.33764 13.8033 3.58172L8.94194 8.44307L4.08058 13.3044C3.83651 13.5485 3.44078 13.5485 3.1967 13.3044C2.95262 13.0604 2.95262 12.6646 3.1967 12.4206L12.9194 2.69783Z" fill="currentColor"/>
1107<path d="M13.8033 12.4206C14.0474 12.6646 14.0474 13.0604 13.8033 13.3044C13.5592 13.5485 13.1635 13.5485 12.9194 13.3044L3.1967 3.58172C2.95262 3.33764 2.95262 2.94191 3.1967 2.69783C3.44078 2.45375 3.83651 2.45375 4.08058 2.69783L13.8033 12.4206Z" fill="currentColor"/>
1108</svg>
1109</span>
1110</span>
1111<span class="otscc-cat__name">Necessary</span>
1112</button>
1113<span class="otscc-cat__always">Always active</span>
1114</div>
1115<div class="otscc-cat__desc-wrap"><p class="otscc-cat__desc">Required for page loading, security, and form submissions. The site does not work without them.</p></div>
1116</div>
1117<div class="otscc-cat" data-cat>
1118<div class="otscc-cat__row">
1119<button type="button" class="otscc-cat__toggle-head" aria-expanded="false">
1120<span class="otscc-cat__plus" aria-hidden="true">
1121<span class="otscc-icon-plus">+</span>
1122<span class="otscc-icon-cross">
1123<svg viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
1124<path d="M12.9194 2.69783C13.1635 2.45375 13.5592 2.45375 13.8033 2.69783C14.0474 2.94191 14.0474 3.33764 13.8033 3.58172L8.94194 8.44307L4.08058 13.3044C3.83651 13.5485 3.44078 13.5485 3.1967 13.3044C2.95262 13.0604 2.95262 12.6646 3.1967 12.4206L12.9194 2.69783Z" fill="currentColor"/>
1125<path d="M13.8033 12.4206C14.0474 12.6646 14.0474 13.0604 13.8033 13.3044C13.5592 13.5485 13.1635 13.5485 12.9194 13.3044L3.1967 3.58172C2.95262 3.33764 2.95262 2.94191 3.1967 2.69783C3.44078 2.45375 3.83651 2.45375 4.08058 2.69783L13.8033 12.4206Z" fill="currentColor"/>
1126</svg>
1127</span>
1128</span>
1129<span class="otscc-cat__name">Analytics</span>
1130</button>
1131<label class="otscc-switch">
1132<input type="checkbox" id="otsccAnalytics" checked aria-label="Allow analytics cookies">
1133<span class="otscc-switch__ui"></span>
1134</label>
1135</div>
1136<div class="otscc-cat__desc-wrap"><p class="otscc-cat__desc">Google Analytics 4 via Google Tag Manager. Shows us which pages people read and where they leave. Data is aggregated.</p></div>
1137</div>
1138<div class="otscc-cat" data-cat>
1139<div class="otscc-cat__row">
1140<button type="button" class="otscc-cat__toggle-head" aria-expanded="false">
1141<span class="otscc-cat__plus" aria-hidden="true">
1142<span class="otscc-icon-plus">+</span>
1143<span class="otscc-icon-cross">
1144<svg viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
1145<path d="M12.9194 2.69783C13.1635 2.45375 13.5592 2.45375 13.8033 2.69783C14.0474 2.94191 14.0474 3.33764 13.8033 3.58172L8.94194 8.44307L4.08058 13.3044C3.83651 13.5485 3.44078 13.5485 3.1967 13.3044C2.95262 13.0604 2.95262 12.6646 3.1967 12.4206L12.9194 2.69783Z" fill="currentColor"/>
1146<path d="M13.8033 12.4206C14.0474 12.6646 14.0474 13.0604 13.8033 13.3044C13.5592 13.5485 13.1635 13.5485 12.9194 13.3044L3.1967 3.58172C2.95262 3.33764 2.95262 2.94191 3.1967 2.69783C3.44078 2.45375 3.83651 2.45375 4.08058 2.69783L13.8033 12.4206Z" fill="currentColor"/>
1147</svg>
1148</span>
1149</span>
1150<span class="otscc-cat__name">Marketing</span>
1151</button>
1152<label class="otscc-switch">
1153<input type="checkbox" id="otsccMarketing" checked aria-label="Allow marketing cookies">
1154<span class="otscc-switch__ui"></span>
1155</label>
1156</div>
1157<div class="otscc-cat__desc-wrap"><p class="otscc-cat__desc">HubSpot and LinkedIn. Lets us see which campaigns bring visitors and show relevant ads. If this is off, we cannot tell where your visit came from.</p></div>
1158</div>
1159<div class="otscc-modal__actions">
1160<button type="button" class="otscc-btn otscc-btn--ghost" id="otsccModalNecessary">Necessary only</button>
1161<button type="button" class="otscc-btn otscc-btn--ghost" id="otsccSave">Save preferences</button>
1162<button type="button" class="otscc-btn otscc-btn--solid" id="otsccModalAcceptAll">Accept all</button>
1163</div>
1164</div>
1165</div>
1166
1167<script>
1168(function () {
1169  var COOKIE_NAME = 'ots_cookie_consent';
1170  var COOKIE_DAYS = 182;
1171  var banner = document.getElementById('otsccBanner');
1172  var overlay = document.getElementById('otsccOverlay');
1173  var modal = document.getElementById('otsccModal');
1174  var tglAnalytics = document.getElementById('otsccAnalytics');
1175  var tglMarketing = document.getElementById('otsccMarketing');
1176  function readConsent() {
1177    var m = document.cookie.match(new RegExp('(?:^|;\\s*)' + COOKIE_NAME + '=([^;]+)'));
1178    if (!m) return null;
1179    try { return JSON.parse(decodeURIComponent(m[1])); } catch (e) { return null; }
1180  }
1181  function writeConsent(c) {
1182    var d = new Date();
1183    d.setTime(d.getTime() + COOKIE_DAYS * 24 * 60 * 60 * 1000);
1184    document.cookie = COOKIE_NAME + '=' + encodeURIComponent(JSON.stringify(c)) + '; expires=' + d.toUTCString() + '; path=/; SameSite=Lax; Secure';
1185  }
1186  function applyConsent(c) {
1187    if (typeof gtag === 'function') {
1188      gtag('consent', 'update', {
1189        analytics_storage: c.analytics ? 'granted' : 'denied',
1190        ad_storage: c.marketing ? 'granted' : 'denied',
1191        ad_user_data: c.marketing ? 'granted' : 'denied',
1192        ad_personalization: c.marketing ? 'granted' : 'denied'
1193      });
1194    }
1195    window.dataLayer = window.dataLayer || [];
1196    window.dataLayer.push({
1197      event: 'ots_consent_update',
1198      consent_analytics: !!c.analytics,
1199      consent_marketing: !!c.marketing
1200    });
1201  }
1202  function saveAndClose(analytics, marketing) {
1203    var c = { necessary: true, analytics: !!analytics, marketing: !!marketing, ts: new Date().toISOString() };
1204    writeConsent(c);
1205    applyConsent(c);
1206    hideBanner(); closeModal();
1207  }
1208  function showBanner() { banner.classList.add('otscc-visible'); }
1209  function hideBanner() { banner.classList.remove('otscc-visible'); }
1210  function openModal() {
1211    var c = readConsent();
1212    if (c) { tglAnalytics.checked = !!c.analytics; tglMarketing.checked = !!c.marketing; }
1213    overlay.classList.add('otscc-visible');
1214    modal.classList.add('otscc-visible');
1215    document.getElementById('otsccClose').focus();
1216  }
1217  function closeModal() {
1218    overlay.classList.remove('otscc-visible');
1219    modal.classList.remove('otscc-visible');
1220  }
1221  document.getElementById('otsccCustomise').addEventListener('click', openModal);
1222  document.getElementById('otsccBannerNecessary').addEventListener('click', function () { saveAndClose(false, false); });
1223  document.getElementById('otsccBannerAcceptAll').addEventListener('click', function () { saveAndClose(true, true); });
1224  document.getElementById('otsccModalNecessary').addEventListener('click', function () { saveAndClose(false, false); });
1225  document.getElementById('otsccModalAcceptAll').addEventListener('click', function () { saveAndClose(true, true); });
1226  document.getElementById('otsccSave').addEventListener('click', function () { saveAndClose(tglAnalytics.checked, tglMarketing.checked); });
1227  document.getElementById('otsccClose').addEventListener('click', function () {
1228    closeModal();
1229    if (!readConsent()) showBanner();
1230  });
1231  overlay.addEventListener('click', function () {
1232    closeModal();
1233    if (!readConsent()) showBanner();
1234  });
1235  document.addEventListener('keydown', function (e) {
1236    if (e.key === 'Escape' && modal.classList.contains('otscc-visible')) {
1237      closeModal();
1238      if (!readConsent()) showBanner();
1239    }
1240  });
1241  var otsccToggleBtns = Array.prototype.slice.call(document.querySelectorAll('.otscc-cat__toggle-head'));
1242  otsccToggleBtns.forEach(function (btn) {
1243    btn.addEventListener('click', function () {
1244      var cat = btn.closest('[data-cat]');
1245      var willOpen = !cat.classList.contains('otscc-open');
1246      otsccToggleBtns.forEach(function (otherBtn) {
1247        var otherCat = otherBtn.closest('[data-cat]');
1248        if (otherCat !== cat) {
1249          otherCat.classList.remove('otscc-open');
1250          otherBtn.setAttribute('aria-expanded', 'false');
1251        }
1252      });
1253      cat.classList.toggle('otscc-open', willOpen);
1254      btn.setAttribute('aria-expanded', willOpen ? 'true' : 'false');
1255    });
1256  });
1257  Array.prototype.forEach.call(document.querySelectorAll('[data-cookie-sett
1257ings]'), function (el) {
1258    el.addEventListener('click', function (e) { e.preventDefault(); hideBanner(); openModal(); });
1259  });
1260  var existing = readConsent();
1261  if (existing) {
1262    applyConsent(existing);
1263  } else {
1264    showBanner();
1265  }
1266})();
1267</script>
1267
1268
1269<!-- OTS forms v2 (2026-09-28): validation, reCAPTCHA, IP/country/city, bot trap. Minified to fit the 50k footer limit; readable source: forms/ots-forms.js in the project folder. Off for a test: ?otsforms=0 -->
1270<style>
1271.ots-field{min-width:0}
1272.ots-invalid.w-input,.ots-invalid.w-select{box-shadow:inset 0 0 0 1px #e81c50!important}
1273.w-checkbox.ots-invalid .w-checkbox-input{border-color:#e81c50!important}
1274.ots-ok.w-input,.ots-ok.w-select{box-shadow:inset 0 0 0 1px #19a463!important}
1275.ots-error{display:block;margin:.45em 0 0;color:#e81c50;font-size:.9722vw;font-weight:500;line-height:1.3;letter-spacing:0;text-align:left}
1276.ots-dark .ots-invalid.w-input,.ots-dark .ots-invalid.w-select{box-shadow:inset 0 0 0 1px #ffbfcd!important}
1277.ots-dark .w-checkbox.ots-invalid .w-checkbox-input{border-color:#ffbfcd!important}
1278.ots-dark .ots-ok.w-input,.ots-dark .ots-ok.w-select{box-shadow:inset 0 0 0 1px #6fe3a6!important}
1279.ots-dark .ots-error{color:#ffbfcd}
1280.ots-recaptcha{margin-top:1.389vw;min-height:78px}
1281.ots-recaptcha__widget{width:304px;transform-origin:0 0}
1282@media screen and (max-width:479px){.ots-error{font-size:3.611vw}.ots-recaptcha{margin-top:5.556vw}.ots-recaptcha-note{font-size:2.78vw}}
1283.ots-recaptcha-note{margin:.75em 0 0;font-size:.7639vw;line-height:1.35;color:var(--gray-1,#9d9d9d);letter-spacing:0}
1284.ots-recaptcha-note a{color:inherit;text-decoration:underline}
1285.ots-dark .ots-recaptcha-note{color:#e6e6e6;opacity:.75}
1286.grecaptcha-badge{visibility:hidden}
1287</style>
1288<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.22.1/jquery.validate.min.js" integrity="sha384-DIFfDxcYkhbAXYdxOYFZshXsis24zK4HtbU7qI30u9/eP7JtiRIGuOaLsoYL5QTs" crossorigin="anonymous"></script>
vendor: 1 bytes, line 1288
1288
1289<script>
1290window.OTS_FORMS = {
1291  recaptcha: true,                     // invisible reCAPTCHA v3 on the forms Webflow receives
1292  mode: 'v3',
1293  siteKey: '6Lc61MUtAAAAAEHlSveiifvqTUcq6V4SKBAKFvD6',
1294  geo: true,                           // hidden IP / Country / City fields
1295  honeypot: true,                      // off-screen trap field; a bot fills it, a visitor cannot
1296  honeypotName: 'Website',             // if this arrives filled in, the entry is a bot
1297
1298  // Texts the visitor sees. Edit them right here - nothing else has to change.
1299  messages: {
1300    required: 'This field is required.',
1301    name: 'Please enter your name.',
1302    nameBad: 'Please use letters only, without numbers or links.',
1303    email: 'Please enter your email.',
1304    emailBad: 'Please enter a valid email address, e.g. [email protected].',
1305    phone: 'Please enter your phone number.',
1306    phoneBad: 'Please enter a valid phone number, e.g. +48 600 000 000.',
1307    company: 'Please enter your company name.',
1308    url: 'Please enter a valid link, e.g. linkedin.com/in/your-name.',
1309    links: 'Links are not allowed in this field.',
1310    text: 'Please write a few words.',
1311    short: 'Please enter at least {0} characters.',
1312    consent: 'Please accept the Terms of Service and the Privacy Policy.',
1313    check: 'Please check this box.',
1314    choose: 'Please choose an option.',
1315    robot: 'Please confirm that you are not a robot.',
1316    blocked: 'The security check could not be completed in your browser, so the form cannot be sent. Please reload the page, or write to us at [email protected].',
1317    sendFailed: 'We could not send your message. Please check the email address and try again — or simply write to us at [email protected].'
1318  }
1319};
1320</script>
vendor: 1 bytes, line 1320
1320
1321<script>
1322!function(){"use strict";var e=window.jQuery;if(e&&e.fn&&!/[?&]otsforms=0\b/.test(location.search)){var t,n=!!e.fn.validate,a=e.extend({recaptcha:!1,mode:"v2",siteKey:"",geo:!0},window.OTS_FORMS||{}),o="v3"===a.mode,r=e.extend({required:"This field is required.",name:"Please enter your name.",nameBad:"Please use letters only, without numbers or links.",email:"Please enter your email.",emailBad:"Please enter a valid email address, e.g. [email protected].",phone:"Please enter your phone number.",phoneBad:"Please enter a valid phone number, e.g. +48 600 000 000.",company:"Please enter your company name.",url:"Please enter a valid link, e.g. linkedin.com/in/your-name.",links:"Links are not allowed in this field.",text:"Please write a few words.",short:"Please enter at least {0} characters.",consent:"Please accept the Terms of Service and the Privacy Policy.",check:"Please check this box.",choose:"Please choose an option.",robot:"Please confirm that you are not a robot.",blocked:"The security check could not be completed in your browser, so the form cannot be sent. Please reload the page, or write to us at [email protected].",sendFailed:"We could not send your message. Please check the email address and try again — or simply write to us at [email protected]."},a.messages||{});try{t=new RegExp("\\p{L}","gu")}catch(e){t=/[A-Za-z\u00C0-\u024F\u0370-\u03FF\u0400-\u04FF]/g}var i={email:/^[A-Za-z0-9!#$%&'*+\/=?^_`{|}~-]+(\.[A-Za-z0-9!#$%&'*+\/=?^_`{|}~-]+)*@([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])?\.)+([A-Za-z]{2,24}|xn--[A-Za-z0-9-]{2,59})$/,exampleDomain:/@(.+\.)?example\.(com|org|net)$/i,link:/(https?:\/\/|www\.)/i,nameChars:/^[^0-9@#$%^&*=+_<>{}\[\]|\\\/:;"~`!?]+$/,phoneChars:/^\+?[0-9\s().\-]+$/,url:/^(https?:\/\/)?([A-Za-z0-9-]+\.)+[A-Za-z]{2,}(:\d+)?(\/\S*)?$/i};b("otsName",function(e){return i.nameChars.test(e)&&!i.link.test(e)&&g(e)>=1},r.nameBad),b("otsEmail",function(e){return e.length<=254&&i.email.test(e)&&!i.exampleDomain.test(e)},r.emailBad);var s={1:[10],7:[10],48:[9],375:[9],380:[9],44:[10],49:[10,11],31:[9],33:[9],34:[9],39:[9,10],351:[9],353:[9],370:[8],371:[8],372:[7,8],420:[9],421:[9],40:[9],41:[9],43:[10,11],32:[9],36:[9],359:[8,9],45:[8],46:[7,8,9],47:[8],358:[9,10]};b("otsPhone",function(e){if(!i.phoneChars.test(e))return!1;var t=e.replace(/\D/g,""),n="+"===e.charAt(0)||/^\s*00/.test(e);if(/^00/.test(t)&&n&&(t=t.slice(2)),function(e){return!!/^(\d)\1+$/.test(e)||e.length>=7&&("01234567890123456789".indexOf(e)>=0||"98765432109876543210".indexOf(e)>=0)}(t))return!1;if(!n)return t.length>=7&&t.length<=15;for(var a=3;a>=1;a--){var o=s[t.slice(0,a)];if(o)return o.indexOf(t.length-a)>=0}return t.length>=8&&t.length<=15},r.phoneBad),b("otsUrl",function(e){return i.url.test(e)},r.url),b("otsNoLinks",function(e){return!i.link.test(e)},r.links),b("otsText",function(e){return g(e)>=2},r.text),b("otsSense",function(e){return/[0-9]/.test(e)||g(e)>=1},r.text),n&&e.extend(e.validator.messages,{required:r.required,email:r.emailBad,url:r.url,minlength:e.validator.format(r.short),maxlength:e.validator.format("Please enter no more than {0} characters.")});var c,l=/^(files?|my-uploader|utm[-_]|lever ?id|greenhouse ?id|page[-_ ]?url|hutk|ipaddress|pageuri|pageid|pagename|mmerge|g-recaptcha-response)/i,u=["gridColumnStart","gridColumnEnd","gridRowStart","gridRowEnd","alignSelf","justifySelf","order","flexGrow","flexShrink","flexBasis"];e(window).on("resize",function(){clearTimeout(c),c=setTimeout(function(){e(".ots-field").each(function(){w(this)})},150)});var d,f=!1,m=[];document.addEventListener("pointerdown",function(){f=!0},!0),e(document).on("pointerup pointercancel",function(){setTimeout(x,0)});var p={state:"idle",queue:[]};window.otsRecaptchaReady=function(){p.state="ready",p.queue.splice(0).forEach(A)};var h=null,v=null;document.addEventListener("submit",function(e){var t=e.target,n=t&&t.__ots;if(n){if(function(e){var t=e.querySelector("[data-ots-hp]");return!(!t||!String(t.value).trim())}(t))return e.preventDefault(),void e.stopImmediatePropagation();var r,i,s,c,l,u,d=!0;try{d=!n.validator||n.validator.form(),o||function(e){var t=e.captcha;if(!t||"failed"===p.state)return!0;
1322if(null===t.id)return"idle"===p.state&&(p.queue.push(e),q()),L(e,!0),!1;var n=!!window.grecaptcha.getResponse(t.id);return L(e,!n),n}(n)||(d=!1)}catch(e){d=!0}if(d&&o&&n.v3&&(l=n.v3,u=Date.now()-l.ts,!(l.ts>0&&(l.token?u<1e5:u<2e4))))return e.preventDefault(),e.stopImmediatePropagation(),q(),r=function(e){n.v3.token=e,n.v3.ts=Date.now(),E(t,e),function(e){if("function"==typeof e.requestSubmit){var t=e.querySelector('[type="submit"]');try{return e.requestSubmit(t&&!t.disabled?t:void 0)}catch(e){}}e.dispatchEvent(new Event("submit",{bubbles:!0,cancelable:!0}))}(t)},i=!1,s=Date.now()+8e3,c=function(e){i||(i=!0,setTimeout(function(){r(e)},0))},setTimeout(function(){c("")},8e3),void function e(){var t=window.grecaptcha;if(!i){if("failed"===p.state||Date.now()>s)return c("");if(!t||!t.execute)return setTimeout(e,200);try{t.execute(a.siteKey,{action:"submit"}).then(c,function(){setTimeout(e,250)})}catch(t){setTimeout(e,250)}}}();if(d)return o&&n.v3&&E(t,n.v3.token),z(t),void function(e){var t=e.querySelector("[data-ots-hp]");t&&(t.parentNode.removeChild(t),setTimeout(function(){N(e)},0))}(t);e.preventDefault(),e.stopImmediatePropagation();var f=n.validator&&n.validator.errorList.length?n.validator.errorList[0].element:null;f?"checkbox"===f.type?f.closest("label, .w-checkbox").scrollIntoView({block:"center"}):f.focus():n.captcha&&n.captcha.box.scrollIntoView({block:"center"})}},!0),"loading"===document.readyState?document.addEventListener("DOMContentLoaded",R):R()}function g(e){return(e.match(t)||[]).length}function y(t){return e.trim(e(t).val()||"")}function b(t,a,o){n&&e.validator.addMethod(t,function(t,n){return this.optional(n)||a(e.trim(t),n)},o)}function w(e){var t=getComputedStyle(e.firstChild);u.forEach(function(n){e.style[n]=t[n]})}function x(){f=!1,m.splice(0).forEach(function(e){e()})}function k(e){if(!f)return e();m.push(e),clearTimeout(d),d=setTimeout(x,1500)}function C(t){if(!t.__ots){var i=e(t);if(!i.is("[fs-cmsfilter-element], [data-ots-skip]")&&i.find('[type="submit"]').length){var s=t.__ots={form:t};(function(e){var t=e.querySelector('input[type="text"], input[type="email"], textarea'),n=t&&getComputedStyle(t).color.match(/\d+/g);return!!n&&.299*n[0]+.587*n[1]+.114*n[2]>160})(t)&&t.classList.add("ots-dark"),n&&(s.validator=i.validate({onsubmit:!1,ignore:':hidden, [type="hidden"], [type="file"], [data-ots-hp], .g-recaptcha-response',errorElement:"div",errorClass:"ots-error",validClass:"ots-valid",focusInvalid:!1,highlight:function(t){e(t).addClass("ots-invalid").removeClass("ots-ok").closest(".w-checkbox, .w-radio").addClass("ots-invalid")},unhighlight:function(t){e(t).removeClass("ots-invalid").closest(".w-checkbox, .w-radio").removeClass("ots-invalid"),e(t).toggleClass("ots-ok",!/checkbox|radio/.test(t.type||"")&&""!==y(t))},errorPlacement:function(t,n){t.attr("role","alert"),function(t){if("radio"===t.type){var n=e(t.form).find('input[type="radio"]').filter(function(){return this.name===t.name}).last();return n.closest("label, .w-radio").last().length?n.closest("label, .w-radio").last():n}return"checkbox"===t.type?e(t).closest("label, .w-checkbox").last():e(t)}(n[0]).after(t)},onfocusout:function(e){var t=this;t.checkable(e)||""===y(e)&&!(e.name in t.submitted)||k(function(){t.element(e)})}})),n&&i.find("input, textarea, select").each(function(){var t=this,n=(t.type||"").toLowerCase();if(!/^(hidden|submit|button|file|reset|image)$/.test(n)&&t.name&&!l.test(t.name)&&!l.test(e(t).attr("data-name")||"x")&&"none"!==getComputedStyle(t).display){"number"===n&&/phone|tel\b/i.test(t.name+" "+e(t).attr("data-name"))&&(t.type="tel",t.setAttribute("autocomplete","tel"),n="tel");var a=function(t){var n=e(t),a=(t.type||"").toLowerCase(),o=[t.name,n.attr("data-name"),t.id,t.placeholder].join(" "),i=n.prop("required"),s={},c={};return"checkbox"===a?(i&&(s.required=!0,c.required=/terms|privacy|agree/i.test(n.closest("label").text())?r.consent:r.check),{rules:s,messages:c}):"radio"===a||"SELECT"===t.tagName?(i&&(s.required=!0,c.required=r.choose),{rules:s,messages:c}):(i&&(s.required=!0,c.required=r.required),"email"===a||/e-?mail/i.test(o)?(s.otsEmail=!0,c.required=r.email):"tel"===a||/phone|tel\b/i.test(o)?(s.otsPhone=!0,c.required=r.phone):/company|organi[sz]ation/i.test(o)?(s.otsSense=!0,s.otsNoLinks=!0,s.minlength=2,c.required=r.company):/(^|\s|_|-)(full[ _-]?)?name\b|first.?name|last.?name|candidatename/i.test(o)?(s.otsName=!0,s.minlength=2,s.maxlength=100,c.required=r.
1322name):/link|url|linkedin|cv\b|website/i.test(o)&&!/page[ _-]?url/i.test(o)?s.otsUrl=!0:"TEXTAREA"===t.tagName?s.otsText=!0:(s.otsSense=!0,s.otsNoLinks=!0),s.minlength&&(c.minlength=e.validator.format(r.short)),{rules:s,messages:c})}(t);e.isEmptyObject(a.rules)||("checkbox"!==n&&"radio"!==n&&function(e){if("ots-field"!==e.parentNode.className){var t=document.createElement("div");t.className="ots-field",e.parentNode.insertBefore(t,e),t.appendChild(e),w(t)}}(t),e(t).rules("add",e.extend({},a.rules,{messages:a.messages})))}}),n&&i.on("input change","input, textarea, select",function(){var t=this;""===y(t)&&e(t).removeClass("ots-ok"),s.validator.invalid[t.name]&&k(function(){s.validator.element(t)})}),a.recaptcha&&a.siteKey&&!(t.getAttribute("action")||"").trim()&&(o?S:T)(s),/list-manage/i.test(t.getAttribute("action")||"")&&function(t){var n=e(t).closest(".w-form").find("> .w-form-fail")[0];if(!n||!("MutationObserver"in window))return;new MutationObserver(function(){if("none"!==n.style.display){var t=e(n).find("div").first();t.length&&!t.data("ots")&&t.data("ots",1).text(r.sendFailed)}}).observe(n,{attributes:!0,attributeFilter:["style"]})}(t),N(t),z(t),a.geo&&i.one("focusin pointerdown",function(){v||!window.fetch||(v=I("https://ipwho.is/?fields=success,ip,country,city",5e3).then(function(e){return e.json()}).then(function(e){if(!e||!e.success)throw new Error("ipwho.is");return{ip:e.ip,country:e.country,city:e.city}}).catch(function(){return I("/cdn-cgi/trace",4e3).then(function(e){return e.text()}).then(function(e){var t=(e.match(/^ip=(.*)$/m)||[])[1],n=(e.match(/^loc=(.*)$/m)||[])[1],a=n;try{a=new Intl.DisplayNames(["en"],{type:"region"}).of(n)}catch(e){}return{ip:t,country:a,city:""}})}).then(function(t){h=t,e("form").each(function(){this.__ots&&z(this)})}).catch(function(){}))}),function(t){var n=t.form.querySelector('[type="submit"]');if(!n||!n.disabled)return;var a=function(){n.disabled&&!e(t.form).find("> .ots-form-error").length&&e(t.form).append('<p class="ots-error ots-form-error" role="alert">'+r.blocked+"</p>")};setTimeout(a,8e3),t.form.addEventListener("click",function(e){n.disabled&&e.target.closest('a, button, [type="submit"]')&&a()},!0);var o=setInterval(function(){n.disabled||(clearInterval(o),e(t.form).find("> .ots-form-error").remove())},1e3)}(s)}}}function q(){if("idle"===p.state){p.state="loading";var e=document.createElement("script");e.src="https://www.google.com/recaptcha/api.js?"+(o?"render="+encodeURIComponent(a.siteKey):"onload=otsRecaptchaReady&render=explicit")+"&hl=en",o&&(e.onload=function(){p.state="ready"}),e.async=!0,e.onerror=P,document.head.appendChild(e),setTimeout(function(){"loading"===p.state&&P()},15e3)}}function P(){p.state="failed",e(".ots-recaptcha").hide()}function S(t){var n=t.form;if(t.v3={token:"",ts:0},e(n).find(".ots-recaptcha-note").length||e(n).append('<p class="ots-recaptcha-note">This site is protected by reCAPTCHA and the Google <a href="https://policies.google.com/privacy" target="_blank" rel="noopener">Privacy Policy</a> and <a href="https://policies.google.com/terms" target="_blank" rel="noopener">Terms of Service</a> apply.</p>'),"IntersectionObserver"in window){var a=new IntersectionObserver(function(e){e[0].isIntersecting&&(a.disconnect(),q())},{rootMargin:"600px 0px"});a.observe(n)}else q();e(n).one("focusin",q)}function E(e,t){var n=e.querySelector('[name="g-recaptcha-response"]');t?(n||((n=document.createElement("input")).type="hidden",n.name="g-recaptcha-response",e.appendChild(n)),n.value=t||""):n&&"hidden"===n.type&&n.parentNode.removeChild(n)}function T(t){var n=t.form,a=document.createElement("div");a.className="ots-recaptcha",a.innerHTML='<div class="ots-recaptcha__widget"></div>';var o=e(n).find('input[type="checkbox"][required]').last().closest("label, .w-checkbox");o.length?o.after(a):e(n).find('[type="submit"]').first().before(a),t.captcha={box:a,widget:a.firstChild,id:null};var r=function(){"ready"===p.state?A(t):(p.queue.push(t),q())};if("IntersectionObserver"in window){var i=new IntersectionObserver(function(e){e[0].isIntersecting&&(i.disconnect(),r())},{rootMargin:"600px 0px"});i.observe(n)}else r();e(n).one("focusin",r);var s=e(n).closest(".w-form").find("> .w-form-fail")[0];s&&"MutationObserver"in window&&new MutationObserver(function(){"none"!==s.style.display&&null!==t.captcha.id&&window.grecaptcha.reset(t.captcha.id)}).observe(s,{attributes:!0,attributeFilter:["style"]})}function A(t){var n=t.captcha;n&&null===n.id&&window.grecaptcha&&(n.id=window.grecaptcha.render(n.widget,{sitekey:a.siteKey,theme:t.form.classList.contains("ots-dark")?"dark":"light",callback:function(){L(t,!1)},"expired-callback":function(){L(t,!0)}}),_(t),e(window).on("resize",function(){_(t)}))}function _(e){var t=e.captcha,n=Math.min(1,t.box.clientWidth/304||1);t.widget.style.transform=n<1?"scale("+n+")":"",t.box.style.minHeight=Math.ceil(78*n)+"px"}function L(t,n){var a=t.captcha,o=e(a.box).find("> .ots-error");a.box.classList.toggle("ots-invalid",n),n&&!o.length&&e(a.box).append('<p class="ots-error" role="alert">'+r.robot+"</p>"),n||o.remove()}function I(e,t){var n=window.AbortController?new AbortController:null,a=setTimeout(function(){n&&n.abort()},t);return fetch(e,{cache:"no-store",signal:n&&n.signal}).finally(function(){clearTimeout(a)})}function N(e){if(!1!==a.honeypot&&!e.querySelector("[data-ots-hp]")){var t=a.honeypotName||"Website",n=document.createElement("input");n.type="text",n.name=t,n.setAttribute("data-name",t),n.setAttribute("data-ots-hp","1"),n.tabIndex=-1,n.autocomplete="off",n.setAttribute("aria-hidden","true"),n.style.cssText="position:absolute;
1322left:-9999px;top:0;width:1px;height:1px;opacity:0;overflow:hidden",e.appendChild(n)}}function O(e,t,n,a){var o=e.querySelector('input[data-ots-field="'+t+'"]');o||((o=document.createElement("input")).type="hidden",o.name=n,o.setAttribute("data-name",n),o.setAttribute("data-ots-field",t),e.appendChild(o)),o.value=a||""}function z(e){var t=/list-manage/i.test(e.getAttribute("action")||"");e.querySelector('input[name="page_url"], input[name="Page-Url"], input[name="page-url"]')||O(e,"page",t?"PAGE_URL":"Page URL",location.href),h&&[["ip","IP"],["country","Country"],["city","City"]].forEach(function(n){O(e,n[0],t?n[1].toUpperCase():n[1],h[n[0]])})}function R(){e(".w-form form").each(function(){try{C(this)}catch(e){}})}}();
1323</script>
1323
1324
1325<!-- OTS schema v1 (2026-09-24): подставляет в JSON-LD страницы seo title, seo description и вопросы-ответы из блока FAQ. Работает только там, где на странице есть блок FAQ. Читаемый исходник: schema/ots-schema.js в папке проекта. Выключить для проверки: ?otsschema=0 -->
1326<script>
1327!function(){"use strict";var t=document;try{if(location.search.indexOf("otsschema=0")>-1)return}catch(t){return}var e=/[\u200b\u200c\u200d\u2060\ufeff]/g;function n(t){return String(null==t?"":t).replace(e,"").replace(/\u00a0/g," ").replace(/\s+/g," ").trim()}var r={P:1,UL:1,OL:1,H1:1,H2:1,H3:1,H4:1,H5:1,H6:1,BLOCKQUOTE:1,FIGURE:1,DIV:1,TABLE:1};function o(t,e){var a,i,c,l=t.children,d=!1;for(a=0;a<l.length;a++)if(r[l[a].tagName]){d=!0;break}if(!d){var u=n(t.textContent);return u&&e.push(u),e}for(a=0;a<l.length;a++)if("UL"===(c=(i=l[a]).tagName)||"OL"===c)for(var f=0;f<i.children.length;f++){var p=n(i.children[f].textContent);p&&e.push(("OL"===c?f+1+". ":"— ")+p)}else if("TABLE"===c)for(var h=0;h<i.rows.length;h++){for(var s=i.rows[h].cells,g=[],y=0;y<s.length;y++){var v=n(s[y].textContent);v&&g.push(v)}g.length&&e.push(g.join(" — "))}else if("DIV"===c||"FIGURE"===c)o(i,e);else{var b=n(i.textContent);b&&e.push(b)}return e}function a(t){var e=t&&t["@type"];return null==e?"":e.join?e.join(" "):String(e)}function i(t){return/(^|\s)\w*Page(\s|$)/.test(a(t))&&a(t).indexOf("FAQPage")<0}function c(t){return a(t).indexOf("FAQPage")>-1}function l(){var e,r,a=n(t.title),l=t.querySelector('meta[name="description"]'),d=n(l?l.getAttribute("content"):""),u=function(){var e,r=t.querySelectorAll(".faq_dropdown"),a=[];for(e=0;e<r.length;e++){var i=r[e].querySelector(".dropdown_content_up h1,.dropdown_content_up h2,.dropdown_content_up h3,.dropdown_content_up h4"),c=r[e].querySelector(".faq_dropdown_content");if(i&&c){var l=n(i.textContent),d=o(c.querySelector(".w-richtext")||c,[]).join(" ");l&&d&&a.push({"@type":"Question",name:l,acceptedAnswer:{"@type":"Answer",text:d}})}}return a}(),f=t.querySelectorAll('script[type="application/ld+json"]'),p=[];for(e=0;e<f.length;e++){var h;try{h=JSON.parse(f[e].textContent)}catch(t){continue}h&&"object"==typeof h&&p.push({tag:f[e],data:h,dirty:!1})}var s=null,g=null;for(e=0;e<p.length;e++){var y=p[e].data["@graph"],v=y&&y.length?y:[p[e].data];for(r=0;r<v.length;r++)!s&&i(v[r])&&(s={block:p[e],node:v[r]}),!g&&c(v[r])&&(g={block:p[e],node:v[r]})}if(s&&(a&&s.node.name!==a&&(s.node.name=a,s.block.dirty=!0),d&&s.node.description!==d&&(s.node.description=d,s.block.dirty=!0)),u.length){if(!g&&s){var b=s.node,m=String(b["@id"]||b.url||location.origin+location.pathname.replace(/\/+$/,"")).split("#")[0],x={"@type":"FAQPage","@id":m+"#faq",url:m,isPartOf:{"@id":b["@id"]||m}},O=s.block.data["@graph"];O&&O.length?O.push(x):s.block.data={"@context":s.block.data["@context"]||"https://schema.org","@graph":[s.block.data,x]},g={block:s.block,node:x},s.block.dirty=!0}g&&JSON.stringify(g.node.mainEntity)!==JSON.stringify(u)&&(g.node.mainEntity=u,g.block.dirty=!0)}for(e=0;e<p.length;e++)p[e].dirty&&(p[e].tag.textContent=JSON.stringify(p[e].data,null,2))}function d(){try{l()}catch(t){}}"loading"===t.readyState?t.addEventListener("DOMContentLoaded",d):d()}();
1328</script>
1328
1329
1330<script>
1331document.addEventListener('DOMContentLoaded', function() {
1332    var slider = document.querySelector('.team_slider'); // Replace with your slider's class
1333    var isScrolling;
1334
1335    slider.addEventListener('touchstart', function(e) {
1336        var touches = e.touches[0];
1337        startX = touches.pageX;
1338        startY = touches.pageY;
1339        isScrolling = undefined; // Undefined at the start of a swipe
1340    }, false);
1341
1342    slider.addEventListener('touchmove', function(e) {
1343        if (isScrolling !== undefined) {
1344            return;
1345        }
1346        var touches = e.touches[0];
1347        var deltaX = Math.abs(touches.pageX - startX);
1348        var deltaY = Math.abs(touches.pageY - startY);
1349
1350        if (deltaX >= deltaY) {
1351            e.preventDefault(); // It's a horizontal swipe, prevent default scroll behavior
1352            isScrolling = false;
1353        } else {
1354            isScrolling = true; // It's more vertical, let it scroll
1355        }
1356    }, { passive: false });
1357});
1358</script>
1358
1359 
1359<script>
1360        gsap.registerPlugin(ScrollTrigger);
1361
1362        gsap.to(".number_card", {
1363            y: 0,
1364            scrollTrigger: {
1365                trigger: ".section.number",
1366                start: "top 70%",
1367                end: "top 0%",
1368                scrub: true
1369            }
1370        });
1371    </script>
1371
1372
1373<script>
1374    window.addEventListener("DOMContentLoaded", (event) => {
1375        gsap.set("[animate]", { opacity: 1 });
1376
1377        gsap.set(".main", { opacity: 1 });
1378
1379        let typeSplit = new SplitType("[animate]", {
1380            types: "lines, words, chars",
1381            tagName: "span",
1382        });
1383
1384        function createScrollTrigger(triggerElement, timeline) {
1385            ScrollTrigger.create({
1386                trigger: triggerElement,
1387                start: "top 80%",
1388                onEnter: () => timeline.play()
1389            });
1390        }
1391
1392        document.querySelectorAll('.line').forEach(line => {
1393            const wrapper = document.createElement('div');
1394            wrapper.classList.add('line-wrap');
1395            line.parentNode.insertBefore(wrapper, line);
1396            wrapper.appendChild(line);
1397        });
1398
1399        $("[line-up]").each(function (index) {
1400            let tl = gsap.timeline({ paused: true });
1401            tl.from($(this).find(".line"), { opacity: 0, rotationZ: '4', yPercent: 110, duration: 0.8, ease: "power1.out", stagger: { amount: 0.3 } });
1402            createScrollTrigger($(this), tl);
1403        });
1404
1405        const heroTimeline = gsap.timeline({ paused: false });
1406        heroTimeline
1407            .fromTo(".hero_description", { opacity: 0 }, { opacity: 1, duration: 0.7 }, 0.8)
1408            .fromTo(".navbare_simbol", { opacity: 0 }, { opacity: 1, duration: 0.7 }, 0.8)
1409            .fromTo(".hero_border", { opacity: 0 }, { opacity: 1, duration: 0.7 }, 0.8)
1410            .fromTo(".hero_portal", { opacity: 0 }, { opacity: 1, duration: 0.7 }, 0.8)
1411            .fromTo("#sge", { opacity: 0 }, { opacity: 1, duration: 0.7 }, 0.8)
1412            .fromTo(".navbar_line", { width: '0%' }, { width: '100%', duration: 1.5 }, "<")
1413
1414
1415    });
1416</script>
1416
1417
1418
1419
1420<script>
1421 
1422  gsap.registerPlugin(ScrollTrigger);
1423
1424  gsap.utils.toArray('[gsap="opacity"]').forEach(element => {
1425    gsap.fromTo(element,
1426      { opacity: 0 },
1427      {
1428        opacity: 1,
1429        scrollTrigger: {
1430          trigger: element,
1431          start: "top 95%",
1432          end: "top 85%",
1433          scrub: true
1434        }
1435      }
1436    );
1437  });
1438
1439  gsap.utils.toArray('[gsap="line"]').forEach(element => {
1440    gsap.fromTo(element,
1441      { width: "0%" },
1442      {
1443        width: "100%",
1444        duration: 2.5,
1445        scrollTrigger: {
1446          trigger: element,
1447          start: "top 90%",
1448          toggleActions: "play none none none"
1449        }
1450      }
1451    );
1452  });
1453
1454  gsap.utils.toArray('[gsap="circle"]').forEach(element => {
1455    const isMobile = window.innerWidth <= 768;
1456
1457    gsap.fromTo(element,
1458      { borderRadius: isMobile ? "35vw" : "25em" },
1459      {
1460        borderRadius: isMobile ? "2.78vw" : "0.63em",
1461        scrollTrigger: {
1462          trigger: element,
1463          start: "top 90%",
1464          end: "top 70%",
1465          scrub: true
1466        }
1467      }
1468    );
1469  });
1470
1471  gsap.utils.toArray('[gsap="circle-2"]').forEach(element => {
1472    const isMobile = window.innerWidth <= 768;
1473
1474    gsap.fromTo(element,
1475      { borderRadius: isMobile ? "35vw" : "25em" },
1476      {
1477        borderRadius: isMobile ? "2.78vw" : "0.63em",
1478        scrollTrigger: {
1479          trigger: element,
1480          start: "top 50%",
1481          end: "top 20%",
1482          scrub: true
1483        }
1484      }
1485    );
1486  });
1487</script>
1487
1488
1489<script>
1490    window.addEventListener("DOMContentLoaded", (event) => {
1491        gsap.set("[anima]", { opacity: 1, color: "#E6E6E6" });
1492
1493        let typeSplit = new SplitType("[anima]", {
1494            types: "lines, words, chars",
1495            tagName: "span",
1496        });
1497
1498         const timelines = [];
1499
1500        document.querySelectorAll("[anima]").forEach(element => {
1501            let tl = gsap.timeline({ paused: true });
1502            
1503            tl.to(element.querySelectorAll(".char"), { 
1504                color: "#1C1C1C", 
1505                duration: 0.2, 
1506                ease: "power1.out", 
1507                stagger: { each: 0.04 }
1508            });
1509
1510            ScrollTrigger.create({
1511                trigger: element,
1512                start: "top 80%",
1513                onEnter: () => tl.play()
1514            });
1515
1516            timelines.push(tl);
1517        });
1518
1519        document.querySelectorAll(".feedbeck_slider_arrow").forEach(arrow => {
1520            arrow.addEventListener("click", () => {
1521                timelines.forEach(tl => tl.restart());
1522            });
1523        });
1524    });
1525</script>
1525
1526  
1526<script>
1527const matterContainer = document.querySelector(".balls_wrapepr");
1528let BALL_RADIUS = window.innerWidth <= 479 ? 22 : 45;
1529let NUMBER_OF_RED_BALLS = window.innerWidth <= 479 ? 12 : 30;
1530let BLUE_BALL_LIMIT = window.innerWidth <= 479 ? 6 : 10;
1531const THICCNESS = 60;
1532
1533// Colors
1534const BLUE_COLOR = { r: 73, g: 74, b: 168 }; // Blue color
1535const RED_COLOR = { r: 232, g: 28, b: 80 };  // Red color
1536const COLOR_TRANSITION_DURATION = 500; // Duration in milliseconds
1537
1538// Function to interpolate color
1539function interpolateColor(color1, color2, factor) {
1540    let result = color1.map((value, index) => Math.round(value + factor * (color2[index] - value)));
1541    return `rgb(${result[0]}, ${result[1]}, ${result[2]})`;
1542}
1543
1544// Module aliases
1545var Engine = Matter.Engine,
1546    Render = Matter.Render,
1547    Runner = Matter.Runner,
1548    Bodies = Matter.Bodies,
1549    Composite = Matter.Composite,
1550    Events = Matter.Events;
1551
1552// Create an engine
1553var engine = Engine.create();
1554engine.world.gravity.y = 0.2;
1555
1556// Create a renderer
1557var render = Render.create({
1558    element: matterContainer,
1559    engine: engine,
1560    options: {
1561        width: matterContainer.clientWidth,
1562        height: matterContainer.clientHeight,
1563        background: "transparent",
1564        wireframes: false,
1565        showAngleIndicator: false,
1566        visible: false
1567    }
1568});
1569
1570// Function to create balls with a specified color
1571function createBall(x, y, color) {
1572    return Bodies.circle(x, y, BALL_RADIUS, {
1573        friction: 0.3,
1574        frictionAir: 0.001,
1575        restitution: 0.8,
1576        render: {
1577            fillStyle: `rgb(${color.r}, ${color.g}, ${color.b})`
1578        }
1579    });
1580}
1581
1582function transitionToColor(body, startColor, endColor, duration) {
1583    let start = null;
1584
1585    function animate(timestamp) {
1586        if (!start) start = timestamp;
1587        let progress = Math.min((timestamp - start) / duration, 1);
1588
1589        let newColor = interpolateColor(
1590            [startColor.r, startColor.g, startColor.b],
1591            [endColor.r, endColor.g, endColor.b],
1592            progress
1593        );
1594
1595        body.render.fillStyle = newColor;
1596
1597        if (progress < 1) {
1598            requestAnimationFrame(animate);
1599        } else {
1600            body.render.fillStyle = `rgb(${endColor.r}, ${endColor.g}, ${endColor.b})`;
1601        }
1602    }
1603
1604    requestAnimationFrame(animate);
1605}
1606
1607// Create red balls on the bottom
1608let redBalls = [];
1609for (let i = 0; i < NUMBER_OF_RED_BALLS; i++) {
1610    let x = Math.random() * matterContainer.clientWidth;
1611    let y = matterContainer.clientHeight - 100;
1612    let redBall = createBall(x, y, RED_COLOR);
1613    Composite.add(engine.world, redBall);
1614    redBalls.push(redBall);
1615}
1616
1617// Create an array for blue balls
1618let blueBalls = [];
1619let intervalId;
1620
1621// Function to release blue balls
1622function releaseBlueBalls() {
1623    if (blueBalls.length < BLUE_BALL_LIMIT) {
1624        let x = Math.random() * matterContainer.clientWidth;
1625        let y = -BALL_RADIUS;
1626        let blueBall = createBall(x, y, BLUE_COLOR);
1627        blueBalls.push(blueBall);
1628        Composite.add(engine.world, blueBall);
1629    }
1630}
1631
1632// Start releasing blue balls when user scrolls to the block
1633function startDroppingBlueBalls() {
1634    if (!intervalId) {
1635        intervalId = setInterval(releaseBlueBalls, 300);
1636    }
1637}
1638
1639// Scroll event listener
1640window.addEventListener("scroll", () => {
1641    const baallsElement = document.getElementById("baalls");
1642
1643    if (baallsElement && baallsElement.getBoundingClientRect().top < window.innerHeight) {
1644        // Add all red balls to the world
1645        redBalls.forEach(ball => Composite.add(engine.world, ball));
1646        redBalls = []; // Clear the array to prevent re-adding
1647
1648        // Start releasing blue balls
1649        startDroppingBlueBalls();
1650    }
1651});
1652
1653// Detect collisions and change blue to red gradually
1654Events.on(engine, 'collisionStart', function(event) {
1655    var pairs = event.pairs;
1656
1657    pairs.forEach(pair => {
1658        let bodies = [pair.bodyA, pair.bodyB];
1659
1660        bodies.forEach(body => {
1661            if (body.render.fillStyle === `rgb(${BLUE_COLOR.r}, ${BLUE_COLOR.g}, ${BLUE_COLOR.b})`) {
1662                let otherBody = body === pair.bodyA ? pair.bodyB : pair.bodyA;
1663                if (otherBody.render.fillStyle === `rgb(${RED_COLOR.r}, ${RED_COLOR.g}, ${RED_COLOR.b})`) {
1664                    transitionToColor(body, BLUE_COLOR, RED_COLOR, COLOR_TRANSITION_DURATION);
1665                }
1666            }
1667        });
1668    });
1669});
1670
1671// Create boundaries
1672var ground = Bodies.rectangle(
1673    matterContainer.clientWidth / 2,
1674    matterContainer.clientHeight + THICCNESS / 2,
1675    matterContainer.clientWidth,
1676    THICCNESS,
1677    { isStatic: true }
1678);
1679
1680let leftWall = Bodies.rectangle(
1681    0 - THICCNESS / 2,
1682    matterContainer.clientHeight / 2,
1683    THICCNESS,
1684    matterContainer.clientHeight * 5,
1685    { isStatic: true }
1686);
1687
1688let rightWall = Bodies.rectangle(
1689    matterContainer.clientWidth + THICCNESS / 2,
1690    matterContainer.clientHeight / 2,
1691    THICCNESS,
1692    matterContainer.clientHeight * 5,
1693    { isStatic: true }
1694);
1695
1696// Add walls and ground to the world
1697Composite.add(engine.world, [ground, leftWall, rightWall]);
1698
1699// Start rendering
1700Render.run(render);
1701
1702// Create and run the runner
1703var runner = Runner.create();
1704Runner.run(runner, engine);
1705
1706// Handle window resize
1707function handleResize(matterContainer) {
1708    BALL_RADIUS = window.innerWidth <= 479 ? 22 : 45; // Update ball radius on resize
1709    NUMBER_OF_RED_BALLS = window.innerWidth <= 479 ? 12 : 30; // Update number of red balls
1710    BLUE_BALL_LIMIT = window.innerWidth <= 479 ? 6 : 10; // Update blue ball limit
1711
1712    // Update canvas size
1713    render.canvas.width = matterContainer.clientWidth;
1714    render.canvas.height = matterContainer.clientHeight;
1715
1716    // Update ground position
1717    Matter.Body.setPosition(
1718        ground,
1719        Matter.Vector.create(
1720            matterContainer.clientWidth / 2,
1721            matterContainer.clientHeight + THICCNESS / 2
1722        )
1723    );
1724
1725    // Update right wall position
1726    Matter.Body.setPosition(
1727        rightWall,
1728        Matter.Vector.create(
1729            matterContainer.clientWidth + THICCNESS / 2,
1730            matterContainer.clientHeight / 2
1731        )
1732    );
1733
1734    // Update left wall position
1735    Matter.Body.setPosition(
1736        leftWall,
1737        Matter.Vector.create(
1738            0 - THICCNESS / 2,
1739            matterContainer.clientHeight / 2
1740        )
1741    );
1742}
1743
1744// Listen for window resize
1745window.addEventListener("resize", () => {
1746    handleResize(matterContainer);
1747});
1748</script>
1748
1749
1750<script src="https://hubspotonwebflow.com/assets/js/form-124.js" type="text/javascript" integrity="sha384-bjyNIOqAKScdeQ3THsDZLGagNN56B4X2Auu9YZIGu+tA/PlggMk4jbWruG/P6zYj" crossorigin="anonymous"></script>
1750</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.