PageSourceSearch

https://zebeyond-dev-4.webflow.io/solutions?tab=epop-concept

html zebeyond-dev-4.webflow.io collected 2026-10-03 14:03:34 UTC 265,538 bytes, 3,339 lines download raw bytes

1<!DOCTYPE html><!-- This site was created in Webflow. https://webflow.com --><!-- Last Published: Fri Jun 12 2026 08:23:01 GMT+0000 (Coordinated Universal Time) --><html data-wf-domain="zebeyond-dev-4.webflow.io" data-wf-page="6920ceefd6e9590d3ad15797" data-wf-site="691fe9a45470bd6d1697aba4" lang="en"><head><meta charset="utf-8"/><link href="https://cdn.prod.website-files.com" rel="preconnect" crossorigin="anonymous"/><title>Solutions</title><meta content="width=device-width, initial-scale=1" name="viewport"/><meta content="Webflow" name="generator"/><link href="https://cdn.prod.website-files.com/691fe9a45470bd6d1697aba4/css/zebeyond-dev-4.webflow.shared.3eed6a394.min.css" rel="stylesheet" type="text/css" integrity="sha384-Pu1qOU6XBWExb2eqXoQQVQj6penwh9Tp0KAcECrDS/xXBB8jgMaoD3c2wQO71CDs" crossorigin="anonymous"/>
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/img/favicon.ico" rel="shortcut icon" type="image/x-icon"/><link href="https://cdn.prod.website-files.com/img/webclip.png" rel="apple-touch-icon"/><!-- Splide CSS -->
2<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@splidejs/[email protected]/dist/css/splide.min.css">
3<!-- Finsweet Attributes 
4<script async type="module"
5src="https://cdn.jsdelivr.net/npm/@finsweet/attributes@2/attributes.js"
6fs-list
7></script>
7
8-->
9
10<style>
11  [data-tab-panel]:not(.is-active) {
12    display: none;
13  }
14
15  [data-diagram-panel]:not(.active) {
16    display: none;
17  }
18
19  [data-diagram-btn].active .cell-border::before {
20    opacity: 1;
21  }
22
23  [data-diagram-btn].active .cell-border {
24    border-color: transparent;
25  }
26</style></head><body><div class="global-code"><div class="global-css w-embed"><style>
27  .header {
28    will-change: transform;
29    -webkit-transform: translate3d(0, 0, 0);
30    transform: translate3d(0, 0, 0);
31    -webkit-backface-visibility: hidden;
32    backface-visibility: hidden;
33  }
34
35  :root {
36    --bg--gr-overlay: linear-gradient(180deg, #0d1512 0%, rgba(13, 21, 18, 0) 43.67%, rgba(13, 21, 18, 0) 100%);
37    --text--gr: linear-gradient(251deg, rgba(4, 239, 174, 0) 0%, #04efae 40%, rgba(4, 239, 174, 0) 100%);
38    --accent-1000: linear-gradient(270deg, #02f2aa 30%, #26d2e2 70%);
39    --accent-1000-hover: linear-gradient(270deg, #4EFAFF 0%, #20FFC8 100%);
40    --accent-text: linear-gradient(251deg, #fcfcfc 0%, #04efae 40%, #fcfcfc 100%);
41    --accent-text-on-light: linear-gradient(251deg, #0D1512 0%, #04efae 40%, #0D1512 100%);
42    --accent-900: linear-gradient(270deg, rgba(2, 242, 170, 0.90) 30%, rgba(38, 210, 226, 0.90) 70%);
43    --accent-700: linear-gradient(270deg, rgba(2, 242, 170, 0.70) 30%, rgba(38, 210, 226, 0.70) 70%);
44    --accent-1000-on-light: linear-gradient(270deg, #14A177 0%, #28A5B1 100%);
45    --accent-1000-on-dark: linear-gradient(270deg, #02F2AA 0%, #26D2E2 100%)
46  }
47
48  /* Fluid responsive */
49  html {
50    font-size: calc(16*(100vw / 1440));
51  }
52
53  @media (max-width: 479px) {
54    html {
55      font-size: calc(16*(100vw / 375));
56    }
57  }
58
59  @media (min-width: 1440px) {
60    html {
61      font-size: 16px;
62    }
63  }
64
65  @media (min-width: 1920px) {
66    html {
67      font-size: 16px;
68    }
69  }
70
71
72  @media (min-width: 1440px) and (max-height: 720px) {
73    html {
74      font-size: calc(14*(100vw / 1440));
75    }
76  }
77
78
79  img {
80    height: auto;
81    vertical-align: middle;
82    font-style: italic;
83    background-repeat: no-repeat;
84    background-size: cover;
85    shape-margin: 0.75rem;
86  }
87
88  /* Snippet gets rid of top margin on first element in any rich text*/
89  .w-richtext>:first-child, .w-richtext>:first-child>:first-child {
90    margin-top: 0;
91    padding-top: 0;
92  }
93  /* Snippet gets rid of bottom margin on last element in any rich text*/
94  .w-richtext>:last-child, .w-richtext ol li:last-child, .w-richtext ul li:last-child {
95    margin-bottom: 0;
96  }
97
98  a,
99  .w-dropdown-btn,
100  .w-dropdown-toggle,
101  .w-dropdown-link {
102    color: inherit;
103    text-decoration: inherit;
104    font-size: inherit;
105  }
106
107  * {
108    -webkit-tap-highlight-color: transparent;
109  }
110
111  /* Apply "..." after 3 lines of text */
112  [data-text-style-3lines] {
113    display: -webkit-box;
114    overflow: hidden;
115    -webkit-line-clamp: 3;
116    -webkit-box-orient: vertical;
117  }
118
119  /* Apply "..." after 2 lines of text */
120  [data-text-style-2lines] {
121    display: -webkit-box;
122    overflow: hidden;
123    -webkit-line-clamp: 2;
124    -webkit-box-orient: vertical;
125  }
126
127  /* Apply "..." after 1 lines of text */
128  [data-text-style-1lines] {
129    display: -webkit-box;
130    overflow: hidden;
131    -webkit-line-clamp: 1;
132    -webkit-box-orient: vertical;
133  }
134
135  @keyframes widthCSS {
136    0% {
137      width: 1%;
138    }
139    100% {
140      width: 100%;
141    }
142  }
143  @keyframes shimmer {
144    0% {
145      background-position: -300% 0;
146    }
147    100% {
148      background-position: 300% 0;
149    }
150  }
151  @keyframes slideUpCSS {
152    0% {
153      opacity: 0;
154      transform: translateY(20px);
155    }
156    100% {
157      opacity: 1;
158      transform: translateY(0px);
159    }
160  }
161  @keyframes slideDownCSS {
162    0% {
163      opacity: 0;
164      transform: translateY(-20px);
165    }
166    100% {
167      opacity: 1;
168      transform: translateY(0px);
169    }
170  }
171  @keyframes fadeInCSS {
172    0% {
173      opacity: 0;
174    }
175    100% {
176      opacity: 1;
177    }
178  }
179
180  [data-title-anim-gr] {
181    background: linear-gradient(
182      265deg,
183      rgba(255, 255, 255, 1) 3.84%,
184      #04efae 41.31%,
185      rgba(255, 255, 255, 1) 97.51%
186    );
187    background-size: 300% 100%;
188    -webkit-background-clip: text;
189    background-clip: text;
190    -webkit-text-fill-color: transparent;
191    animation: shimmer 12.5s linear infinite;
192  }
193
194  [data-title-anim-gr-onLight] {
195    background: linear-gradient(
196      265deg,
197      #0D1512 3.84%,
198      #04efae 41.31%,
199      #0D1512 97.51%
200    );
201    background-size: 300% 100%;
202    -webkit-background-clip: text;
203    background-clip: text;
204    -webkit-text-fill-color: transparent;
205    animation: shimmer 12.5s linear infinite;
206  }
207
208  [data-gr-text] {
209    background: var(--accent-text);
210    background-clip: text;
211    -webkit-background-clip: text;
212    -webkit-text-fill-color: transparent;
213  }
214  [data-gr-text-on-light] {
215    background: var(--accent-text-on-light);
216    background-clip: text;
217    -webkit-background-clip: text;
218    -webkit-text-fill-color: transparent;
219  }
220
221  [data-btn-text-gr] {
222    background: var(--accent-1000);
223    background-clip: text;
224    -webkit-background-clip: text;
225    -webkit-text-fill-color: transparent;
226  }
227
228  address {
229    font-style: normal;
230  }
231
232  [data-simple-dropdown].active [data-dropdown-arrow] {
233    transform: rotate(-180deg);
234  }
235  [data-dropdown-arrow] {
236    transition: transform 0.2s ease;
237  }
238  .w-dropdown-toggle.w--open [data-dropdown-arrow] {
239    transform: rotate(180deg);
240  }
241
242  .header.is-scrolled .nav-overlay {
243    opacity: 1;
244  }
245
246  [data-copy-done].active {
247    display: block;
248  }
249
250  .btn * {
251    z-index: 2;
252  }
253
254  .btn::before {
255    content: '';
256    position: absolute;
257    top: 50%;
258    left: 50%;
259    transform: translate(-50%, -50%);
260    width: 200%;
261    height: 500%;
262    transition: transform 0.2s ease;
263    border-radius: inherit;
264    background: var(--accent-1000);
265    pointer-events: none;
266  }
267
268  .btn-secondary[data-onlight="True"] {
269    border-top-color: var(--button--secondary-onlight-stroke);
270    border-right-color: var(--button--secondary-onlight-stroke);
271    border-bottom-color: var(--button--secondary-onlight-stroke);
272    border-left-color: var(--button--secondary-onlight-stroke);
273    color: var(--button--secondary-onlight-text);
274  }
275
276  [data-link-ondark], [data-link-gr], [data-btn-text-gr] {
277    position: relative;
278  }
279  [data-link-ondark]::before {
280    content: '';
281    position: absolute;
282    background: var(--accent-1000-hover);
283    bottom: 0;
284    left: 0;
285    width: 100%;
286    height: 0.06rem;
287    opacity: 0;
288  }
289  .text-link[data-link-ondark]::before {
290    background: currentcolor;
291    opacity: 1;
292  }
293
294  [data-link-gr] [data-btn-text-gr]::before {
295    content: '';
296    position: absolute;
297    background: var(--accent-1000-hover);
298    bottom: 0;
299    left: 0;
300    width: 100%;
301    height: 0.06rem;
302    opacity: 0;
303  }
304
305  .gr-text-link,  .case-rich-text a {
306    background: var(--accent-1000-on-light);
307    background-clip: text;
308    -webkit-background-clip: text;
309    -webkit-text-fill-color: transparent;
310  }
311
312  .toc-select-wrap.active [data-dropdown-arrow] {
313    transform: rotate(180deg);
314  }
315
316  .toc-list__link:not(.is--current) .toc-list__link-arrow {
317    opacity: 0;
318  }
319
320  .toc.is-pinned .toc-select-wrap {
321    padding: 0.75rem;
322    border-color: var(--stroke--primary-onlight);
323    background-color: var(--bg--primary-onlight);
324    width: calc(100% + 2rem);
325  }
326
327  body.modal-open {
328    overflow: hidden;
329  }
330  .modal.active {
331    display: block;
332  }
333
334  .modal.active .video-poster-wrap.in-modal {
335    display: none;
336  }
337
338  .toc-list__link.is--current {
339    background-color: var(--control--tab-onlight-bg-active)!important;
340    color: var(--control--tab-onlight-text-active)!important;
341  }
342  .toc-list__link.w--current {
343    background-color: var(--control--tab-onlight-bg);
344    color: var(--control--tab-onlight-text);
345  }
346
347  .tab-link {
348    transition: width 0.2s, background-color .2s, color .2s,border-color .2s;
349  }
350
351  [data-load-item].init {
352    display: none;
353    opacity: 0;
354  }
355
356  [data-load-item].fadeInCSS {
357    animation: fadeInCSS 0.2s ease both;
358  }
359
360  form .error {
361    font-size: var(--_fonts---font-size--control-s);
362    line-height: var(--_fonts---line-height--control-s);
363    font-weight: var(--_fonts---font-weight--control-s);
364    color: var(--text--error);
365  }
366
367  .splide__pagination {
368    bottom: 1rem;
369    left: 0;
370    padding: 0;
371    justify-content: flex-start;
372  }
373
374  .splide__pagination li {
375    display: flex;
376  }
377
378  .splide__pagination__page {
379    background: var(--icon--tertiary-ondark);
380    width: 0.5rem;
381    height: 0.5rem;
382    margin: 0 0.5rem 0 0;
383    transition: all 0.3s ease;
384    border: none;
385    padding: 0;
386    border-radius: 0.13rem;
387    opacity: 1;
388  }
389
390  .splide__pagination__page.is-active {
391    background: var(--accent-1000-on-light);
392    transform: scale(1);
393    width: 2rem;
394  }
395
396
397  @media (min-width: 480px) {
398    .nav__list-item:last-child .nav-link {
399      border-right: none;
400    }
401  }
402
403  @media (max-width: 479px) {
404    [data-last-breadcrumb] {
405      white-space: nowrap;
406      overflow: hidden;
407      text-overflow: ellipsis;
408      max-width: 13.7rem;
409    }
410
411    /* Apply "..." after 1 lines of text */
412    [data-text-style-1lines--mob] {
413      display: -webkit-box;
414      overflow: hidden;
415      -webkit-line-clamp: 1;
416      -webkit-box-orient: vertical;
417    }
418
419    /* Apply "..." after 2 lines of text */
420    [data-text-style-2lines--mob] {
421      display: -webkit-box;
422      overflow: hidden;
423      -webkit-line-clamp: 2;
424      -webkit-box-orient: vertical;
425    }
426
427    .header.menu-open .nav-container {
428      opacity: 0;
429    }
430  }
431
432</style></div><div class="hover-focus-active w-embed"><style>
433  input.on-dark:autofill,
434  input.on-dark:autofill:hover,
435  input.on-dark:autofill:focus {
436    text-fill-color: var(--input--ondark-text-active);
437    -webkit-text-fill-color: var(--input--ondark-text-active);
438    box-shadow: 0 0 0px 40rem var(--input--ondark-bg-active) inset;
439    -webkit-box-shadow: 0 0 0px 40rem var(--input--ondark-bg-active) inset;
440    caret-color: var(--input--ondark-text-active);
441    border: 1px solid var(--input--ondark-stroke-active);
442    -webkit-background-clip: text;
443    -webkit-text-fill-color: var(--input--ondark-text-active);
444  }
445
446  input.on-dark:-webkit-autofill,
447  input.on-dark:-webkit-autofill:hover,
448  input.on-dark:-webkit-autofill:focus {
449    text-fill-color: var(--input--ondark-text-active);
450    -webkit-text-fill-color: var(--input--ondark-text-active);
451    box-shadow: 0 0 0px 40rem var(--input--ondark-bg-active) inset;
452    -webkit-box-shadow: 0 0 0px 40rem var(--input--ondark-bg-active) inset;
453    caret-color: var(--input--ondark-text-active);
454    border: 1px solid var(--input--ondark-stroke-active);
455    -webkit-background-clip: text;
456    -webkit-text-fill-color: var(--input--ondark-text-active);
457  }
458
459  input:is(.input.on-light, .c-input):autofill,
460  input:is(.input.on-light, .c-input):autofill:hover,
461  input:is(.input.on-light, .c-input):autofill:focus {
462    text-fill-color: var(--input--onlight-text-active);
463    -webkit-text-fill-color: var(--input--onlight-text-active);
464    box-shadow: 0 0 0px 40rem var(--input--onlight-bg-active) inset;
465    -webkit-box-shadow: 0 0 0px 40rem var(--input--onlight-bg-active) inset;
466    caret-color: var(--input--onlight-text-active);
467    border: 1px solid var(--input--onlight-stroke-active);
468    -webkit-background-clip: text;
469    -webkit-text-fill-color: var(--input--onlight-text-active);
470  }
471
472  input:is(.input.on-light, .c-input):-webkit-autofill,
473  input:is(.input.on-light, .c-input):-webkit-autofill:hover,
474  input:is(.input.on-light, .c-input):-webkit-autofill:focus {
475    text-fill-color: var(--input--onlight-text-active);
476    -webkit-text-fill-color: var(--input--onlight-text-active);
477    box-shadow: 0 0 0px 40rem var(--input--onlight-bg-active) inset;
478    -webkit-box-shadow: 0 0 0px 40rem var(--input--onlight-bg-active) inset;
479    caret-color: var(--input--onlight-text-active);
480    border: 1px solid var(--input--onlight-stroke-active);
481    -webkit-background-clip: text;
482    -webkit-text-fill-color: var(--input--onlight-text-active);
483  }
484
485  /* DISABLED */
486  .btn:disabled {
487    color: var(--button--primary-text-disabled);
488    pointer-events: none;
489  }
490  .btn:disabled::before {
491    background: var(--accent-700);
492  }
493
494  :is(.btn-secondary, .btn-min):disabled {
495    border-color: var(--button--secondary-ondark-stroke-disabled);
496    color: var(--button--secondary-ondark-text-disabled);
497    pointer-events: none;
498  }
499
500  [data-link-ondark]:disabled {
501    color: var(--button--tertiary-ondark-text-disabled);
502    pointer-events: none;
503  }
504
505  [data-link-gr]:disabled [data-btn-text-gr] {
506    background: var(--accent-700);
507    background-clip: text;
508    -webkit-background-clip: text;
509    -webkit-text-fill-color: transparent;
510  }
511  [data-link-gr]:disabled [data-btn-text-gr]::before {
512    opacity: 0;
513  }
514
515  :is(a, button).btn-min.on-light:disabled {
516    border-color: var(--button--secondary-onlight-stroke-disabled);
517    color: var(--button--secondary-onlight-icn-disabled);
518    pointer-events: none;
519  }
520
521  .btn-secondary[data-onlight="True"]:disabled {
522    border-color: var(--button--stroke-focus-onlight);
523    background: transparent;
524    color: var(--button--secondary-onlight-text);
525  }
526
527  .nav-list__link:disabled {
528    background-color: var(--control--tab-ondark-bg);
529    color: var(--control--tab-ondark-text-disabled);
530  }
531
532  /* FOCUS VISIBLE */
533  [data-link-ondark]:focus-visible {
534    outline: 2px solid var(--button--stroke-focus-ondark);
535    border-radius: 0.25rem;
536  }
537
538  :is(a, button, .w-dropdown-toggle):focus-visible {
539    outline: 2px solid #fff;
540    outline-offset: 0px;
541    transition: outline 0s;
542  }
543
544  :is(.btn):focus-visible {
545    outline: 2px solid var(--button--stroke-focus-ondark);
546    outline-offset: 0px;
547  }
548
549  :is(.btn-secondary, :is(a, button).btn-min):focus-visible {
550    outline: 2px solid var(--button--stroke-focus-ondark);
551    outline-offset: -2px;
552  }
553
554  .btn-secondary[data-onlight="True"]:focus-visible {
555    border-color: var(--button--secondary-onlight-stroke-disabled);
556    background: transparent;
557    color: var(--button--secondary-onlight-text-disabled);
558  }
559
560  :is(a, button).btn-min.on-light:focus-visible {
561    outline: 2px solid var(--button--stroke-focus-onlight);
562  }
563
564  :is([data-link-ondark], [data-link-gr]):focus-visible {
565    outline: 2px solid var(--button--stroke-focus-ondark);
566    border-radius: 0.25rem;
567  }
568
569  /* HOVER/ACTIVE */
570  @media (hover: hover) and (pointer: fine) and (min-width: 1024px) {
571    .input.on-dark:hover {
572      background-color: var(--input--ondark-bg-active);
573      border-color: var(--input--ondark-stroke-active);
574    }
575
576    :is(.input.on-light, .c-input):hover {
577      background-color: var(--bg--primary-onlight);
578    }
579
580    .btn:hover::before {
581      transform: translate(-50%, -50%) rotate(180deg);
582    }
583    .btn:active::before {
584      background: var(--accent-900);
585    }
586    .btn:active {
587      color: var(--button--primary-text-pressed);
588    }
589
590    :is(.btn-secondary, :is(a, button).btn-min):hover {
591      border-color: var(--button--secondary-ondark-stroke-hover);
592      background-color: var(--button--secondary-ondark-bg-hover);
593    }
594    :is(.btn-secondary, :is(a, button).btn-min):active {
595      border-color: var(--button--secondary-ondark-stroke-pressed);
596      color: var(--button--secondary-ondark-text-pressed);
597      background-color: var(--bg--primary-ondark);
598    }
599
600    .btn-secondary[data-onlight="True"]:hover {
601      border-color: var(--button--secondary-onlight-stroke-hover);
602      background: var(--button--secondary-onlight-bg-hover);
603    }
604    .btn-secondary[data-onlight="True"]:active {
605      border-color: var(--button--secondary-onlight-stroke-pressed);
606      background: transparent;
607      color: var(--button--secondary-onlight-text-pressed);
608    }
609
610    :is(a, button).btn-min.on-light:hover {
611      border-color: var(--button--secondary-onlight-stroke-hover);
612      background: var(--button--secondary-onlight-bg-hover);
613    }
614    :is(a, button).btn-min.on-light:active {
615      border-color: var(--button--secondary-onlight-stroke-pressed);
616      color: var(--button--secondary-onlight-icn-pressed);
617    }
618
619    [data-link-ondark]:hover {
620      background: var(--accent-1000-hover);
621      background-clip: text;
622      -webkit-background-clip: text;
623      -webkit-text-fill-color: transparent;
624    }
625    [data-link-ondark]:hover::before {
626      opacity: 1;
627      background: var(--accent-1000-hover);
628    }
629    [data-link-ondark]:active {
630      background: var(--button--tertiary-ondark-text-pressed);
631      background-clip: text;
632      -webkit-background-clip: text;
633      -webkit-text-fill-color: transparent;
634    }
635    [data-link-ondark]:active::before  {
636      opacity: 1;
637      background: var(--button--tertiary-ondark-text-pressed);
638    }
639
640    [data-link-gr]:hover [data-btn-text-gr] {
641      background: var(--accent-1000-hover);
642      background-clip: text;
643      -webkit-background-clip: text;
644      -webkit-text-fill-color: transparent;
645    }
646    [data-link-gr]:hover [data-btn-text-gr]::before {
647      opacity: 1;
648    }
649    [data-link-gr]:active [data-btn-text-gr] {
650      background: var(--accent-900);
651      background-clip: text;
652      -webkit-background-clip: text;
653      -webkit-text-fill-color: transparent;
654    }
655    [data-link-gr]:active [data-btn-text-gr]::before {
656      opacity: 1;
657      background: var(--accent-900);
658    }
659
660    .toc-list__link:hover {
661      background-color: var(--control--tab-onlight-bg-active);
662      color: var(--control--tab-onlight-text-active);
663    }
664
665    .nav-list__link:hover {
666      background-color: var(--control--tab-ondark-bg-hover);
667    }
668    .nav-list__link:active {
669      background-color: var(--control--tab-ondark-bg-active);
670      color: var(--control--tab-ondark-text-active);
671    }
672
673    .epop-tab:hover {
674      border-color: var(--stroke--primary-onlight);
675      background-color: var(--control--tab-onlight-bg-hover);
676    }
677    .epop-tab:active {
678      border-color: var(--stroke--primary-onlight);
679      background-color: var(--control--tab-onlight-bg-active);
680    }
681
682    .tab-link:hover {
683      background-color: var(--control--tab-ondark-bg-hover);
684      color: var(--control--tab-ondark-text);
685    }
686    .tab-link:active {
687      background-color: var(--control--tab-ondark-bg-active);
688      color: var(--control--tab-ondark-text-active);
689    }
690    
691    [data-search-clear]:hover {
692    	color: var(--bg--primary-ondark);
693    }
694
695  }
696
697  @media (hover: none) and (pointer: coarse) {
698    .btn:active {
699      color: var(--button--primary-text-pressed);
700    }
701
702    :is(.btn-secondary, :is(a, button).btn-min):active {
703      border-color: var(--button--secondary-ondark-stroke-pressed);
704      color: var(--button--secondary-ondark-text-pressed);
705      background-color: var(--bg--primary-ondark);
706    }
707
708    .btn-secondary[data-onlight="True"]:active {
709      border-color: var(--button--secondary-onlight-stroke-hover);
710      background: var(--button--secondary-onlight-bg-hover);
711    }
712
713    [data-link-ondark]:active {
714      background: var(--button--tertiary-ondark-text-pressed);
715      background-clip: text;
716      -webkit-background-clip: text;
717      -webkit-text-fill-color: transparent;
718    }
719    [data-link-ondark]:active::before  {
720      opacity: 1;
721      background: var(--button--tertiary-ondark-text-pressed);
722    }
723
724    [data-link-gr]:active [data-btn-text-gr] {
725      background: var(--accent-900);
726      background-clip: text;
727      -webkit-background-clip: text;
728      -webkit-text-fill-color: transparent;
729    }
730    [data-link-gr]:active [data-btn-text-gr]::before {
731      opacity: 1;
732      background: var(--accent-900);
733    }
734
735    .nav-list__link:active {
736      background-color: var(--control--tab-ondark-bg-hover);
737    }
738
739    .epop-tab:active {
740      border-color: var(--stroke--primary-onlight);
741      background-color: var(--control--tab-onlight-bg-hover);
742    }
743  }
744</style></div><div class="text-tertiary-ondark"></div><div class="text-tertiary-onlight"></div><div class="text-secondary-onlight"></div><div class="text-secondary-ondark"></div><div class="text-quarternary-onlight"></div><div class="m--body-s"></div></div><div class="page-code"><div class="page-css w-embed"><style>
745  [data-hero-heading] {
746    animation: slideUpCSS .5s ease both 0.5s;
747  }
748  [data-hero-img] {
749    animation: fadeInCSS 2s ease both 0.25s;
750  }
751  [data-hero-cases] {
752    animation: slideUpCSS .5s ease both 1s;
753  }
754  .nav-container {
755    animation: slideDownCSS .5s ease both 1s;
756  }
757
758  .cell-border::before {
759    content: "";
760    position: absolute;
761    inset: 0px;
762    border-radius: inherit;
763    border: 1px solid transparent;
764    background: linear-gradient(90deg, #02f2aa 30%, #26d2e2 70%) border-box;
765    -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
766    -webkit-mask-composite: destination-out;
767    mask-composite: exclude;
768    opacity: 0;
769    transition: opacity 0.2s ease;
770    pointer-events: none;
771  }
772  .cell-border.is-bottom {
773    transform-style: preserve-3d;
774    transform: perspective(0.85rem) rotateX(-1deg) rotateY(0) rotate(0) skew(0deg);
775  }
776
777  .toc.is-pinned .toc-select-wrap {
778    padding: 0.75rem;
779    border-color: var(--stroke--primary-onlight);
780    background-color: var(--bg--primary-onlight);
781    width: calc(100% + 2rem);
782    border-radius: 1.125rem;
783  }
784  .epop-rich-text ul li::before {
785    content: '';
786    position: absolute;
787    width: 0.5rem;
788    height: 0.5rem;
789    aspect-ratio: 1 / 1;
790    border-radius: 0.0625rem;
791    background-color: var(--icon--secondary-onlight);
792    transform: rotate(45deg);
793    top: 0.5rem;
794    left: 1px;
795  }
796  .epop-tab.is-active, .quarter-radio:has(.quarter-radio__input.w--redirected-checked), .quarter-radio:has(.quarter-radio__input:checked) {
797    color: var(--control--tab-onlight-text-active);
798    background-color: var(--control--tab-onlight-bg-active);
799  }
800  .epop-tabs-item:has(.epop-tab.is-active), .quarter-col-item:has(.quarter-radio__input.w--redirected-checked), .quarter-col-item:has(.quarter-radio__input:checked) {
801    width: 100%;
802  }
803  .epop-video-wrap-2 {
804    position: relative;
805    width: 100%;
806    height: 100%;
807  }
808
809
810  .s-solutions-col-item:last-child .s-solutions-item__step {
811    display: none;
812  }
813
814  .plans-tabs-link__caption, .plans-card__popular {
815    background: var(--accent-1000-on-light);
816  }
817
818  .case-rich-text ul li {
819    padding-left: 1.125rem;
820  }
821  .case-rich-text.in-plans-card ul li::before {
822    content: '';
823    position: absolute;
824    width: 0.5rem;
825    height: 0.5rem;
826    top: 0.5rem;
827    left: 0;
828    background: var(--icon--secondary-onlight);
829    border-radius: 2px;
830    transform: rotate(45deg);
831  }
832
833  .plans-tabs-link.is-active {
834    color: var(--control--tab-onlight-text-active);
835    border-color: var(--stroke--primary-onlight);
836    background-color: var(--control--tab-onlight-bg-active);
837  }
838  .plans-tabs-panel.is-active  {
839    animation: slideUpCSS 0.3s ease both;
840  }
841  .plans-tabs-panel.is-active .splide {
842    visibility: visible!important;
843  }
844
845  .suite .splide__pagination__page {
846    background: var(--icon--tertiary-onlight);
847  }
848  .suite .splide__pagination__page.is-active {
849    background: var(--accent-1000-on-dark);
850  }
851
852  .filter-option.is-active .filter-option__icon {
853    opacity: 1;
854  }
855  .filter-option.is-active {
856    color: var(--control--tab-onlight-text-active);
857    background-color: var(--control--tab-onlight-bg-active);
858  }
859
860  .r-year-radio__input.w--redirected-checked ~ .r-year-radio__icon, .r-year-radio__input:checked + .r-year-radio__icon {
861    opacity: 1;
862  }
863
864  .r-year-radio:has(.r-year-radio__input.w--redirected-checked), .r-year-radio:has(.r-year-radio__input:checked) {
865    color: var(--control--tab-onlight-text-active);
866    background-color: var(--control--tab-ondark-bg-active);
867  }
868
869  .r-pagination__btn:disabled {
870    color: var(--button--secondary-onlight-text-disabled);
871  }
872
873  .filter-dropdown.active {
874    z-index: 10;
875  }
876
877  .releases-empty-state {
878    display: none;
879  }
880
881  .releases-col-wrap:not(:has(.releases-col-item:not([style*="display: none"]):not([style*="display:none"]))) ~ .releases-empty-state {
882    display: block;
883  }
884
885  @media (min-width: 480px) {
886    .plans-list {
887      display: grid!important;
888      grid-template-columns: 1fr 1fr 1fr;
889    }
890  }
891
892  @media (max-width: 479px) {
893    .epop-tab.is-active .epop-tab__name, .quarter-col-item:has(.quarter-radio__input.w--redirected-checked) .quarter-radio__year, .quarter-col-item:has(.quarter-radio__input:checked) .quarter-radio__year {
894      display: flex;
895    }
896    .epop-tabs-item:has(.epop-tab.is-active) {
897      width: 100%;
898      max-width: calc(100% - 7.25rem);
899    }
900
901    .p-chart {
902      overflow: auto;
903      -ms-overflow-style: none;
904      scrollbar-width: none;
905    }
906    .p-chart::-webkit-scrollbar {
907      width: 0;
908      height: 0;
909      display: none;
910    }
911  }
912</style></div><div class="video-js w-embed w-script">
912<script>
913  class VideoManager {
914    constructor(containerSelector) {
915      this.container = document.querySelector(containerSelector);
916      if (!this.container) return;
917      this.videos = this.container.querySelectorAll('[data-target-video]');
918      this.init();
919    }
920
921    init() {
922      this.videos.forEach((videoElement) => {
923        // Set the start time when loading metadata
924        videoElement.addEventListener('loadedmetadata', () => {
925          const startTime = parseFloat(videoElement.getAttribute('data-start-time')) || 0;
926          if (startTime > 0) {
927            videoElement.currentTime = startTime;
928          }
929        });
930
931        // Pause other videos while playing
932        videoElement.addEventListener('play', () => {
933          this.stopOtherVideos(videoElement);
934        });
935      });
936    }
937
938    stopOtherVideos(currentVideo) {
939      this.videos.forEach((videoElement) => {
940        if (videoElement === currentVideo) return;
941        videoElement.pause();
942      });
943    }
944
945    playVideo(videoElement) {
946      // Stop all the others
947      this.stopOtherVideos(videoElement);
948
949      // Get the start time from the attribute (in seconds)
950      const startTime = parseFloat(videoElement.getAttribute('data-start-time')) || 0;
951
952      if (startTime > 0) {
953        videoElement.currentTime = startTime;
954      }
955
956      videoElement.play().catch((e) => {
957        console.log('Video autoplay blocked:', e);
958      });
959    }
960
961    destroy() {
962      // Cleaning if necessary
963    }
964  }
965
966  // Initialization
967  document.addEventListener('DOMContentLoaded', () => {
968    const videoManager = new VideoManager('.s-solutions-col-wrap');
969  });
970</script>
970</div><div class="simple-dropdown-js w-embed w-script"><!-- SIMPLE DROPDOWN -->
971<script>
972  document.addEventListener("DOMContentLoaded", () => {
973    function simpleDropdown() {
974      const $dropdownContainers = $('[data-simple-dropdown-wrap]');
975
976      $dropdownContainers.each(function() {
977        const $container = $(this);
978        const $dropdowns = $container.find('[data-simple-dropdown]');
979        const $dropdownToggles = $container.find('[data-simple-dropdown-toggle]');
980        const noAutoOpen = $container.attr('data-no-auto-open') !== undefined;
981
982        function openFirstDropdown() {
983          if (noAutoOpen) {
984            return; // Если атрибут найден, не открываем автоматически
985          }
986
987          let allDropdownsInactive =
988              $dropdowns.not('.active').length === $dropdowns.length;
989
990          if (allDropdownsInactive) {
991            $dropdownToggles.eq(0).click();
992          }
993        }
994
995        function closeDropdown(parentDropdown) {
996          let dropdownList = parentDropdown.find('[data-simple-dropdown-list]');
997          let dropdownToggle = parentDropdown.find('[data-simple-dropdown-toggle]');
998
999          parentDropdown.removeClass('active');
1000          dropdownToggle.attr('aria-expanded', 'false');
1001          dropdownList.attr('aria-hidden', 'true');
1002          dropdownList.slideUp('fast', function() {
1003            ScrollTrigger.refresh();
1004          });
1005        }
1006
1007        // Закрываем все дропдауны при инициализации
1008        $dropdowns.removeClass('active');
1009        $container.find('[data-simple-dropdown-list]').hide();
1010
1011        $dropdownToggles.on('click', function (e) {
1012          e.preventDefault();
1013          let parentDropdown = $(this).parent('[data-simple-dropdown]');
1014          let dropdownList = parentDropdown.find('[data-simple-dropdown-list]');
1015          let isActive = parentDropdown.hasClass('active');
1016
1017          // Updating aria attributes
1018          $(this).attr('aria-expanded', !isActive);
1019          dropdownList.attr('aria-hidden', isActive);
1020
1021          $dropdowns.removeClass('active');
1022          $container.find('[data-simple-dropdown-list]').slideUp('fast');
1023
1024          if (!isActive) {
1025            parentDropdown.addClass('active');
1026            dropdownList.slideDown(200, function() {
1027              // Call refresh AFTER the animation is complete
1028              ScrollTrigger.refresh();
1029            });
1030          } else {
1031            // Refresh after closing
1032            ScrollTrigger.refresh();
1033          }
1034        });
1035
1036        // Закрываем дропдаун при клике на radio кнопку
1037        $container.find('[data-simple-dropdown-list] input[type="radio"]').on('change', function() {
1038          let parentDropdown = $(this).closest('[data-simple-dropdown]');
1039          closeDropdown(parentDropdown);
1040        });
1041
1042        // Закрываем дропдаун при клике на ссылку
1043        $container.find('[data-simple-dropdown-list] a').on('click', function() {
1044          let parentDropdown = $(this).closest('[data-simple-dropdown]');
1045          closeDropdown(parentDropdown);
1046        });
1047
1048        // A little delay for the first opening
1049        setTimeout(() => {
1050          openFirstDropdown();
1051        }, 100);
1052      });
1053    }
1054
1055    simpleDropdown();
1056  });
1057</script>
1057</div><div class="tabs-js w-embed w-script"><!-- TABS js -->
1058<script>
1059  document.addEventListener('DOMContentLoaded', () => {
1060    // Храним экземпляры слайдеров
1061    const sliderInstances = {};
1062
1063    function createSplideSlider({
1064      selector,
1065      autoWidth = false,
1066      perPage = 1,
1067      desktopGap = '0rem',
1068      trimSpace = true,
1069      destroy = false,
1070      showPagination = true,
1071      loop = false,
1072      paginationFormat = '{current}/{total}',
1073      hideNavIfNotEnoughSlides = true,
1074      minWidthToCheck = 480,
1075    }) {
1076      const sliderEl = document.querySelector(selector);
1077      if (!sliderEl) return;
1078
1079      const parent =
1080            sliderEl.closest('[data-slider-wrap]') || sliderEl.parentElement;
1081      const prev = parent.querySelector('[data-slider-btn-prev]');
1082      const next = parent.querySelector('[data-slider-btn-next]');
1083      const paginationEl = parent.querySelector('.slide-counter');
1084      const navigationEl = parent.querySelector('.slider-nav');
1085
1086      const track = sliderEl.querySelector(':scope > .splide__track');
1087      const list = sliderEl.querySelector('.splide__list');
1088
1089      if (!track || !list) {
1090        if (navigationEl) navigationEl.style.display = 'none';
1091        if (paginationEl) paginationEl.textContent = '';
1092        return null;
1093      }
1094
1095      const slides = list.querySelectorAll('.splide__slide');
1096      if (!slides.length) {
1097        if (navigationEl) navigationEl.style.display = 'none';
1098        if (paginationEl) paginationEl.textContent = '';
1099        return null;
1100      }
1101
1102      const slider = new Splide(sliderEl, {
1103        autoWidth,
1104        perPage,
1105        flickPower: 500,
1106        arrows: false,
1107        pagination: showPagination,
1108        trimSpace,
1109        omitEnd: true,
1110        focus: 0,
1111        classes: {
1112          pagination: 'splide__pagination slider-pagination',
1113        },
1114        type: loop ? 'loop' : 'slide',
1115        ...(desktopGap && { gap: desktopGap }),
1116        mediaQuery: 'min',
1117        breakpoints: {
1118          480: {
1119            ...(destroy && { destroy }),
1120          },
1121        },
1122      });
1123
1124      function padNumber(num) {
1125        return num < 10 ? `0${num}` : `${num}`;
1126      }
1127
1128      function getTotalSlides() {
1129        return slider.length;
1130      }
1131
1132      function getCurrentSlide() {
1133        const idx = slider.index;
1134        const perPage = slider.options.perPage || 1;
1135        const total = getTotalSlides();
1136        const lastVisible = Math.min(idx + perPage, total);
1137        return lastVisible;
1138      }
1139
1140      function updatePagination() {
1141        if (!paginationEl) return;
1142
1143        const current = padNumber(getCurrentSlide());
1144        const total = padNumber(getTotalSlides());
1145
1146        paginationEl.textContent = paginationFormat
1147          .replace('{current}', current)
1148          .replace('{total}', total);
1149      }
1150
1151      function updateArrows() {
1152        if (loop) {
1153          prev && (prev.disabled = false);
1154          next && (next.disabled = false);
1155          return;
1156        }
1157
1158        const idx = slider.index;
1159        const last = slider.Components.Controller.getEnd();
1160        prev && (prev.disabled = idx === 0);
1161        next && (next.disabled = idx === last);
1162      }
1163
1164      function toggleNavVisibility() {
1165        if (!hideNavIfNotEnoughSlides || !navigationEl) return;
1166
1167        const isWide = window.innerWidth >= minWidthToCheck;
1168
1169        if (destroy && !isWide) {
1170          navigationEl.style.display = 'none';
1171          return;
1172        }
1173
1174        try {
1175          if (!slider || typeof slider.Components === 'undefined') {
1176            navigationEl.style.display = 'none';
1177            return;
1178          }
1179        } catch (e) {
1180          navigationEl.style.display = 'none';
1181          return;
1182        }
1183
1184        const slidesCount = getTotalSlides();
1185        const shouldHideNav =
1186              (isWide && slidesCount <= perPage) || (!isWide && slidesCount <= 1);
1187
1188        navigationEl.style.display = shouldHideNav ? 'none' : 'flex';
1189      }
1190
1191      slider.on('mounted move moved resize refresh', () => {
1192        updateArrows();
1193        updatePagination();
1194        toggleNavVisibility();
1195      });
1196
1197      prev && prev.addEventListener('click', () => slider.go('<'));
1198      next && next.addEventListener('click', () => slider.go('>'));
1199
1200      slider.mount();
1201
1202      window.addEventListener('resize', toggleNavVisibility);
1203
1204      sliderInstances[selector] = slider;
1205
1206      return slider;
1207    }
1208
1209    // Обработчик кликов - для работы на той же странице
1210    // Обработчик кликов - для работы на той же странице
1211    document.addEventListener('click', (e) => {
1212      const link = e.target.closest('[data-tab-target]');
1213
1214      if (link) {
1215        e.preventDefault(); // Всегда предотвращаем стандартное поведение
1216
1217        const href = link.getAttribute('href');
1218        const tabTarget = link.dataset.tabTarget;
1219
1220        // Парсим URL
1221        let linkPath;
1222        try {
1223          const url = new URL(href, window.location.origin);
1224          linkPath = url.pathname;
1225        } catch (e) {
1226          return;
1227        }
1228
1229        const currentPath = window.location.pathname;
1230
1231        // Если это та же страница - активируем таб
1232        if (currentPath === linkPath) {
1233          const targetButton = document.querySelector(
1234            `[data-tab-btn="${tabTarget}"]`
1235          );
1236
1237          if (targetButton) {
1238            const container = targetButton.closest('[data-tabs-container]');
1239
1240            if (container) {
1241              const tabButtons = container.querySelectorAll('[data-tab-btn]');
1242              const tabPanels = container.querySelectorAll('[data-tab-panel]');
1243
1244              tabButtons.forEach((btn) => {
1245                btn.classList.toggle('is-active', btn.dataset.tabBtn === tabTarget);
1246              });
1247              tabPanels.forEach((panel) => {
1248                panel.classList.toggle(
1249                  'is-active',
1250                  panel.dataset.tabPanel === tabTarget
1251                );
1252              });
1253
1254              requestAnimationFrame(() => {
1255                Object.values(sliderInstances).forEach((sliderInstance) => {
1256                  if (
1257                    sliderInstance &&
1258                    typeof sliderInstance.refresh === 'function'
1259                  ) {
1260                    sliderInstance.refresh();
1261                  }
1262                });
1263              });
1264            }
1265          }
1266
1267          // Обновляем URL без перезагрузки страницы
1268          history.pushState(null, null, href);
1269
1270          // Скролл к якорю
1271          const hash = href.split('#')[1];
1272          if (hash) {
1273            const targetElement = document.getElementById(hash);
1274            if (targetElement) {
1275              setTimeout(() => {
1276                const headerHeight =
1277                      document.querySelector('.nav')?.offsetHeight || 0;
1278                const offset = 20;
1279                const elementPosition = targetElement.getBoundingClientRect().top;
1280                const offsetPosition =
1281                      elementPosition + window.pageYOffset - headerHeight - offset;
1282
1283                window.scrollTo({
1284                  top: offsetPosition,
1285                  behavior: 'smooth',
1286                });
1287              }, 300);
1288            }
1289          }
1290        } else {
1291          // Переход на другую страницу
1292          window.location.href = href;
1293        }
1294      }
1295    });
1296
1297    function tabs() {
1298      const tabContainers = document.querySelectorAll('[data-tabs-container]');
1299
1300      tabContainers.forEach((container) => {
1301        const tabButtons = container.querySelectorAll('[data-tab-btn]');
1302        const tabPanels = container.querySelectorAll('[data-tab-panel]');
1303
1304        function activateTab(tabName) {
1305          console.log('✅ Активируем таб:', tabName);
1306          tabButtons.forEach((btn) => {
1307            btn.classList.toggle('is-active', btn.dataset.tabBtn === tabName);
1308          });
1309          tabPanels.forEach((panel) => {
1310            panel.classList.toggle('is-active', panel.dataset.tabPanel === tabName);
1311          });
1312
1313          requestAnimationFrame(() => {
1314            Object.values(sliderInstances).forEach((sliderInstance) => {
1315              if (sliderInstance && typeof sliderInstance.refresh === 'function') {
1316                sliderInstance.refresh();
1317              }
1318            });
1319          });
1320        }
1321
1322        tabButtons.forEach((btn) => {
1323          btn.addEventListener('click', (e) => {
1324            e.preventDefault();
1325            activateTab(btn.dataset.tabBtn);
1326          });
1327        });
1328
1329        // Читаем параметр ?tab= из URL
1330        const urlParams = new URLSearchParams(window.location.search);
1331        const tabParam = urlParams.get('tab');
1332
1333        console.log('📍 URL параметр tab:', tabParam);
1334
1335        if (tabParam) {
1336          const tabExists = Array.from(tabButtons).some(
1337            (btn) => btn.dataset.tabBtn === tabParam
1338          );
1339
1340          console.log('📍 Таб существует?:', tabExists);
1341
1342          if (tabExists) {
1343            activateTab(tabParam);
1344
1345            // Скролл к якорю
1346            const hash = window.location.hash.substring(1);
1347            if (hash) {
1348              setTimeout(() => {
1349                const targetElement = document.getElementById(hash);
1350                if (targetElement) {
1351                  const headerHeight =
1352                        document.querySelector('.nav')?.offsetHeight || 0;
1353                  const offset = 20;
1354                  const elementPosition =
1355                        targetElement.getBoundingClientRect().top;
1356                  const offsetPosition =
1357                        elementPosition + window.pageYOffset - headerHeight - offset;
1358
1359                  window.scrollTo({
1360                    top: offsetPosition,
1361                    behavior: 'smooth',
1362                  });
1363                  console.log('✅ Скролл выполнен');
1364                }
1365              }, 300);
1366            }
1367          }
1368        } else if (tabButtons.length > 0) {
1369          // Нет параметра - активируем первый таб
1370          activateTab(tabButtons[0].dataset.tabBtn);
1371        }
1372      });
1373    }
1374
1375    tabs();
1376
1377    createSplideSlider({
1378      selector: '#plans-slider-1',
1379      autoWidth: false,
1380      perPage: 1,
1381      destroy: true,
1382      desktopGap: '0rem',
1383    });
1384
1385    createSplideSlider({
1386      selector: '#plans-slider-2',
1387      autoWidth: false,
1388      perPage: 1,
1389      destroy: true,
1390      desktopGap: '0rem',
1391    });
1392
1393    createSplideSlider({
1394      selector: '[data-workflows-slider="1"]',
1395      autoWidth: false,
1396      perPage: 1,
1397      destroy: false,
1398      desktopGap: '0rem',
1399    });
1400
1401    createSplideSlider({
1402      selector: '[data-workflows-slider="2"]',
1403      autoWidth: false,
1404      perPage: 1,
1405      destroy: false,
1406      desktopGap: '0rem',
1407    });
1408
1409    createSplideSlider({
1410      selector: '[data-workflows-slider="3"]',
1411      autoWidth: false,
1412      perPage: 1,
1413      destroy: false,
1414      desktopGap: '0rem',
1415    });
1416
1417    function pinnedToc() {
1418      const header = document.querySelector('.nav');
1419      const tocElements = document.querySelectorAll('[data-pinned-toc]');
1420
1421      if (tocElements.length === 0) return;
1422
1423      function checkPosition() {
1424        const headerHeight = header?.offsetHeight || 0;
1425
1426        tocElements.forEach((tocWrap) => {
1427          const breakpoint = tocWrap.getAttribute('data-pinned-toc') || 'all';
1428          const windowWidth = window.innerWidth;
1429
1430          let shouldWork = false;
1431
1432          if (breakpoint === 'all') {
1433            shouldWork = true;
1434          } else if (breakpoint === 'mobile' && windowWidth <= 479) {
1435            shouldWork = true;
1436          } else if (breakpoint === 'tablet' && windowWidth <= 991) {
1437            shouldWork = true;
1438          } else if (breakpoint === 'desktop' && windowWidth >= 992) {
1439            shouldWork = true;
1440          }
1441
1442          if (!shouldWork) {
1443            tocWrap.classList.remove('is-pinned');
1444            return;
1445          }
1446
1447          const customOffset =
1448                parseInt(tocWrap.getAttribute('data-pinned-offset')) || 0;
1449          const triggerPoint = headerHeight + customOffset + 1;
1450
1451          const tocWrapTop = tocWrap.getBoundingClientRect().top;
1452          const isPinned = tocWrap.classList.contains('is-pinned');
1453
1454          if (tocWrapTop <= triggerPoint && !isPinned) {
1455            tocWrap.classList.add('is-pinned');
1456          } else if (tocWrapTop > triggerPoint && isPinned) {
1457            tocWrap.classList.remove('is-pinned');
1458          }
1459        });
1460      }
1461
1462      window.addEventListener('scroll', checkPosition, { passive: true });
1463
1464      let resizeTimer;
1465      window.addEventListener('resize', () => {
1466        clearTimeout(resizeTimer);
1467        resizeTimer = setTimeout(checkPosition, 100);
1468      });
1469
1470      checkPosition();
1471    }
1472
1473    pinnedToc();
1474  });
1475</script>
1475</div><div class="diagram-js w-embed w-script"><!-- TABS js -->
1476<script>
1477
1478  // Конфигурация
1479  const CONFIG = {
1480    mobile: {
1481      breakpoint: 992,
1482      smallBreakpoint: 480,
1483    },
1484    scrollDuration: 1, // Длительность скролла в секундах
1485    animationDuration: 0.3,
1486    // Сдвиг .diagram-cells для маленьких экранов (< 480px)
1487    cellsOffsetMobile: {
1488      '1': '0rem', // Шаг 1 - без сдвига
1489      '2': '7.25rem', // Шаг 2 - сдвиг влево на 4.4rem
1490      '3': '7.25rem', // Шаг 3 - сдвиг влево на 4.4rem
1491      '4': '14.7rem', // Шаг 4 - сдвиг влево на 14rem
1492    },
1493    // Сдвиг .diagram-line-mob для маленьких экранов (< 480px)
1494    lineMobOffsetMobile: {
1495      '1': '0vw', // Шаг 1 - без сдвига
1496      '2': '0vw', // Шаг 2 - без сдвига
1497      '3': '0vw', // Шаг 3 - без сдвига
1498      '4': '49vw', // Шаг 4 - сдвиг вправо на 49vw
1499    },
1500  };
1501
1502
1503  //--------------------------------------------------------------------
1504
1505  class DiagramAnimation {
1506    constructor(containerSelector) {
1507      this.container = document.querySelector(containerSelector);
1508      if (!this.container) return;
1509
1510      // Получаем элементы только внутри контейнера
1511      this.diagramButtons = this.container.querySelectorAll('[data-diagram-btn]');
1512      this.diagramPanels = this.container.querySelectorAll(
1513        '[data-diagram-panel]'
1514      );
1515      this.scrollTriggers = this.container.querySelectorAll(
1516        '[data-scroll-trigger]'
1517      );
1518
1519      // SVG элементы для десктопа и мобилки
1520      this.diagramLine = this.container.querySelector('.diagram-line');
1521      this.diagramLineMob = this.container.querySelector('.diagram-line-mob');
1522      this.svgPath = null;
1523      this.svgRect = null;
1524
1525      this.diagram = this.container.querySelector('.diagram');
1526      this.diagramCells = this.container.querySelector('.diagram-cells'); // Элемент для сдвига
1527
1528      // Мобильная навигация
1529      this.mobileNavContainer = this.container.querySelector(
1530        '[data-diagram-mobile-nav]'
1531      );
1532      this.prevBtn = this.container.querySelector('[data-diagram-nav="prev"]');
1533      this.nextBtn = this.container.querySelector('[data-diagram-nav="next"]');
1534      this.counter = this.container.querySelector('[data-diagram-counter]');
1535
1536      this.firstSVGstep = '0% 57%';
1537      this.firstSVGstepMobile = '0% 57%'; // Можно настроить отдельно для мобилки
1538
1539      // Координаты для каждого этапа (desktop)
1540      this.animationSteps = {
1541        '1': { drawSVG: this.firstSVGstep, progress: 0.57 },
1542        '2': { drawSVG: '0% 72%', progress: 0.715 },
1543        '3': { drawSVG: '0% 87%', progress: 0.86 },
1544        '4': { drawSVG: '0% 100%', progress: 1.0 },
1545      };
1546
1547      // Координаты для каждого этапа (mobile)
1548      this.animationStepsMobile = {
1549        '1': { drawSVG: this.firstSVGstepMobile, progress: 0.26 },
1550        '2': { drawSVG: '0% 50%', progress: 0.51 },
1551        '3': { drawSVG: '0% 75%', progress: 0.76 },
1552        '4': { drawSVG: '0% 100%', progress: 1.0 },
1553      };
1554
1555      this.rectProgressObj = { value: 0.57 };
1556      this.currentPathEnd = 57;
1557      this.currentIndex = 0;
1558      this.isAnimating = false;
1559      this.scrollTriggersArray = [];
1560      this.triggerIndexMap = new Map();
1561      this.isMobile = window.innerWidth < CONFIG.mobile.breakpoint;
1562      this.isSmallMobile = window.innerWidth < CONFIG.mobile.smallBreakpoint;
1563
1564      this.init();
1565    }
1566
1567    init() {
1568      this.createTriggerIndexMap();
1569      this.updateSVGReferences();
1570
1571      if (!this.isMobile) {
1572        this.setStickyTop();
1573      }
1574
1575      this.initSVG();
1576      this.bindEvents();
1577      this.switchPanel('1');
1578
1579      // ScrollTrigger только для десктопа
1580      if (!this.isMobile) {
1581        this.initScrollTriggers();
1582      }
1583
1584      this.updateMobileNavigation();
1585    }
1586
1587    updateSVGReferences() {
1588      // Показываем/скрываем нужную SVG и обновляем ссылки
1589      if (this.isSmallMobile) {
1590        // Мобильная SVG
1591        if (this.diagramLine) this.diagramLine.style.display = 'none';
1592        if (this.diagramLineMob) this.diagramLineMob.style.display = 'block';
1593
1594        this.svgPath = this.diagramLineMob?.querySelector('path');
1595        this.svgRect = this.diagramLineMob?.querySelector('rect');
1596      } else {
1597        // Десктопная SVG
1598        if (this.diagramLine) this.diagramLine.style.display = 'block';
1599        if (this.diagramLineMob) this.diagramLineMob.style.display = 'none';
1600
1601        this.svgPath = this.diagramLine?.querySelector('path');
1602        this.svgRect = this.diagramLine?.querySelector('rect');
1603      }
1604    }
1605
1606    getCurrentAnimationSteps() {
1607      return this.isSmallMobile ? this.animationStepsMobile : this.animationSteps;
1608    }
1609
1610    updateNavigationVisibility() {
1611      if (this.mobileNavContainer) {
1612        this.mobileNavContainer.style.display = this.isMobile ? 'flex' : 'none';
1613      }
1614    }
1615
1616    updateMobileNavigation() {
1617      if (!this.isMobile) return;
1618
1619      // Обновляем счетчик
1620      if (this.counter) {
1621        this.counter.textContent = `${this.currentIndex + 1}-4`;
1622      }
1623
1624      // Обновляем состояние кнопок
1625      if (this.prevBtn) {
1626        this.prevBtn.disabled = this.currentIndex === 0;
1627        this.prevBtn.classList.toggle('disabled', this.currentIndex === 0);
1628      }
1629
1630      if (this.nextBtn) {
1631        this.nextBtn.disabled = this.currentIndex === 3;
1632        this.nextBtn.classList.toggle('disabled', this.currentIndex === 3);
1633      }
1634
1635      // Обновляем видимость навигации
1636      this.updateNavigationVisibility();
1637    }
1638
1639    // navigatePrev() {
1640    //     if (this.currentIndex > 0) {
1641    //         this.currentIndex--;
1642    //         const panelNumber = (this.currentIndex + 1).toString();
1643    //         this.switchPanel(panelNumber);
1644    //         this.updateMobileNavigation();
1645    //     }
1646    // }
1647
1648    // navigateNext() {
1649    //     if (this.currentIndex < 3) {
1650    //         this.currentIndex++;
1651    //         const panelNumber = (this.currentIndex + 1).toString();
1652    //         this.switchPanel(panelNumber);
1653    //         this.updateMobileNavigation();
1654    //     }
1655    // }
1656
1657    navigatePrev() {
1658      // Проверяем анимацию ДО изменения индекса
1659      if (this.isAnimating) {
1660        console.log('Animation in progress, blocking navigation');
1661        return;
1662      }
1663
1664      if (this.currentIndex > 0) {
1665        this.currentIndex--;
1666        const panelNumber = (this.currentIndex + 1).toString();
1667        this.switchPanel(panelNumber);
1668        this.updateMobileNavigation();
1669      }
1670    }
1671
1672    navigateNext() {
1673      // Проверяем анимацию ДО изменения индекса
1674      if (this.isAnimating) {
1675        console.log('Animation in progress, blocking navigation');
1676        return;
1677      }
1678
1679      if (this.currentIndex < 3) {
1680        this.currentIndex++;
1681        const panelNumber = (this.currentIndex + 1).toString();
1682        this.switchPanel(panelNumber);
1683        this.updateMobileNavigation();
1684      }
1685    }
1686
1687    setStickyTop() {
1688      if (!this.diagram) return;
1689
1690      const diagramHeight = this.diagram.offsetHeight;
1691      const viewportHeight = window.innerHeight;
1692
1693      // Получаем высоту header из CSS переменной
1694      const navHeight = getComputedStyle(
1695        document.documentElement
1696      ).getPropertyValue('--_size---nav-height');
1697      const navHeightPx = parseFloat(navHeight) * 16 || 0;
1698
1699      // Центрируем с учетом header
1700      const topPosition =
1701            (viewportHeight - navHeightPx - diagramHeight) / 2 + navHeightPx;
1702
1703      this.diagram.style.top = `${topPosition}px`;
1704    }
1705
1706    createTriggerIndexMap() {
1707      this.scrollTriggers.forEach((trigger) => {
1708        const triggerValue = trigger.getAttribute('data-scroll-trigger');
1709        this.triggerIndexMap.set(trigger, triggerValue);
1710      });
1711    }
1712
1713    initSVG() {
1714      const firstStep = this.isSmallMobile
1715      ? this.firstSVGstepMobile
1716      : this.firstSVGstep;
1717
1718      // Устанавливаем начальное состояние SVG
1719      if (this.svgPath) {
1720        gsap.set(this.svgPath, { drawSVG: firstStep });
1721      }
1722
1723      // Инициализация позиции квадрата
1724      if (this.svgRect && this.svgPath) {
1725        gsap.set(this.svgRect, {
1726          motionPath: {
1727            path: this.svgPath,
1728            align: this.svgPath,
1729            alignOrigin: [0.5, 0.5],
1730            start: 0.57,
1731            end: 0.57,
1732          },
1733        });
1734      }
1735    }
1736
1737    // Анимация сдвига .diagram-cells для маленьких экранов
1738    animateCellsOffset(panelNumber) {
1739      if (!this.isSmallMobile || !this.diagramCells) return;
1740
1741      const offset = CONFIG.cellsOffsetMobile[panelNumber] || '0rem';
1742
1743      gsap.to(this.diagramCells, {
1744        x: `-${offset}`,
1745        duration: 0.5,
1746        ease: 'power2.inOut',
1747      });
1748    }
1749
1750    switchPanel(panelNumber, fromScroll = false) {
1751      // БЛОКИРУЕМ переключение если идет анимация (кроме скролла)
1752      if (this.isAnimating && !fromScroll) {
1753        console.log('Animation in progress, blocking panel switch');
1754        return;
1755      }
1756
1757      // Обновляем текущий индекс
1758      this.currentIndex = parseInt(panelNumber) - 1;
1759
1760      // Убираем активный класс со всех панелей
1761      this.diagramPanels.forEach((panel) => {
1762        panel.classList.remove('active');
1763      });
1764
1765      // Убираем активный класс со всех кнопок
1766      this.diagramButtons.forEach((btn) => {
1767        btn.classList.remove('active');
1768      });
1769
1770      // Добавляем активный класс к выбранной панели
1771      const activePanel = this.container.querySelector(
1772        `[data-diagram-panel="${panelNumber}"]`
1773      );
1774      if (activePanel) {
1775        activePanel.classList.add('active');
1776      }
1777
1778      // Добавляем активный класс к выбранной кнопке
1779      const activeButton = this.container.querySelector(
1780        `[data-diagram-btn="${panelNumber}"]`
1781      );
1782      if (activeButton) {
1783        activeButton.classList.add('active');
1784      }
1785
1786      // Анимируем SVG линию и квадрат (включает сдвиг line-mob на 4 шаге)
1787      this.animateSVGLine(panelNumber);
1788
1789      // Анимируем сдвиг .diagram-cells (только для маленьких экранов)
1790      this.animateCellsOffset(panelNumber);
1791
1792      // Обновляем мобильную навигацию
1793      if (this.isMobile) {
1794        this.updateMobileNavigation();
1795      }
1796    }
1797
1798    animateSVGLine(panelNumber) {
1799      if (!this.svgPath) return;
1800
1801      const steps = this.getCurrentAnimationSteps();
1802      const step = steps[panelNumber];
1803      const targetPercent = step.progress * 100;
1804
1805      // Убиваем все предыдущие анимации
1806      gsap.killTweensOf(this.svgPath);
1807      gsap.killTweensOf(this.rectProgressObj);
1808      if (this.diagramLineMob) {
1809        gsap.killTweensOf(this.diagramLineMob);
1810      }
1811
1812      // БЛОКИРУЕМ взаимодействие
1813      this.isAnimating = true;
1814
1815      // Создаем timeline для последовательной анимации
1816      const tl = gsap.timeline({
1817        onComplete: () => {
1818          // РАЗБЛОКИРУЕМ после завершения всей анимации
1819          this.isAnimating = false;
1820        },
1821      });
1822
1823      // Шаг 1: Двигаем квадрат к новой позиции
1824      if (this.svgRect) {
1825        tl.to(this.rectProgressObj, {
1826          value: step.progress,
1827          duration: CONFIG.animationDuration,
1828          // ease: 'power2.inOut',
1829          onUpdate: () => {
1830            gsap.set(this.svgRect, {
1831              motionPath: {
1832                path: this.svgPath,
1833                align: this.svgPath,
1834                alignOrigin: [0.5, 0.5],
1835                start: this.rectProgressObj.value,
1836                end: this.rectProgressObj.value,
1837              },
1838            });
1839          },
1840        });
1841      }
1842
1843      // Шаг 2: Сдвигаем .diagram-line-mob (для всех шагов на smallMobile)
1844      if (this.isSmallMobile && this.diagramLineMob) {
1845        const offset = CONFIG.lineMobOffsetMobile[panelNumber] || '0vw';
1846
1847        tl.to(this.diagramLineMob, {
1848          x: offset,
1849          duration: CONFIG.animationDuration,
1850          // ease: 'power2.inOut',
1851        });
1852      }
1853
1854      // Шаг 3: Анимируем линию от КОНЦА к НАЧАЛУ
1855      tl.set(this.svgPath, {
1856        drawSVG: `0% ${targetPercent}%`,
1857      });
1858
1859      tl.fromTo(
1860        this.svgPath,
1861        {
1862          drawSVG: `${targetPercent}% ${targetPercent}%`,
1863        },
1864        {
1865          drawSVG: `0% ${targetPercent}%`,
1866          duration: CONFIG.animationDuration,
1867          // ease: 'power2.inOut',
1868          onComplete: () => {
1869            this.currentPathEnd = targetPercent;
1870          },
1871        }
1872      );
1873    }
1874
1875    switchPanelWithScroll(panelNumber) {
1876      if (this.isAnimating || this.isMobile) return;
1877
1878      // Находим соответствующий scroll trigger внутри контейнера
1879      const trigger = Array.from(this.scrollTriggers).find(
1880        (t) => t.getAttribute('data-scroll-trigger') === panelNumber
1881      );
1882
1883      if (trigger) {
1884        this.isAnimating = true;
1885
1886        const triggerHeight = trigger.offsetHeight;
1887        const triggerCenter = triggerHeight / 2;
1888
1889        gsap.to(window, {
1890          // duration: CONFIG.scrollDuration,
1891          duration: 0.3,
1892          scrollTo: {
1893            y: trigger,
1894            offsetY: window.innerHeight / 2 - triggerCenter,
1895          },
1896          ease: 'power2.inOut',
1897          onComplete: () => {
1898            setTimeout(() => {
1899              this.isAnimating = false;
1900            }, 100);
1901          },
1902        });
1903      }
1904    }
1905
1906    initScrollTriggers() {
1907      this.scrollTriggers.forEach((trigger) => {
1908        const triggerValue = trigger.getAttribute('data-scroll-trigger');
1909
1910        const scrollTriggerInstance = ScrollTrigger.create({
1911          trigger: trigger,
1912          start: 'top center',
1913          end: 'bottom center',
1914          onEnter: () => this.switchPanel(triggerValue, true),
1915          onEnterBack: () => this.switchPanel(triggerValue, true),
1916          // markers: true,
1917          id: `diagram-${triggerValue}`,
1918        });
1919
1920        this.scrollTriggersArray.push(scrollTriggerInstance);
1921      });
1922    }
1923
1924    bindEvents() {
1925      // Добавляем обработчики событий на все кнопки
1926      this.diagramButtons.forEach((button) => {
1927        button.addEventListener('click', (e) => {
1928          e.preventDefault();
1929
1930          if (this.isMobile) {
1931            // На мобилке просто переключаем без скролла
1932            const panelNumber = button.getAttribute('data-diagram-btn');
1933            this.switchPanel(panelNumber);
1934          } else {
1935            // На десктопе скроллим
1936            const panelNumber = button.getAttribute('data-diagram-btn');
1937            this.switchPanelWithScroll(panelNumber);
1938          }
1939        });
1940      });
1941
1942      // Обработчики для навигационных кнопок
1943      if (this.prevBtn) {
1944        this.prevBtn.addEventListener('click', (e) => {
1945          e.preventDefault();
1946          this.navigatePrev();
1947        });
1948      }
1949
1950      if (this.nextBtn) {
1951        this.nextBtn.addEventListener('click', (e) => {
1952          e.preventDefault();
1953          this.navigateNext();
1954        });
1955      }
1956
1957      // Обработчик resize с debounce
1958      let resizeTimeout;
1959      window.addEventListener('resize', () => {
1960        clearTimeout(resizeTimeout);
1961        resizeTimeout = setTimeout(() => {
1962          const wasMobile = this.isMobile;
1963          const wasSmallMobile = this.isSmallMobile;
1964
1965          this.isMobile = window.innerWidth < CONFIG.mobile.breakpoint;
1966          this.isSmallMobile = window.innerWidth < CONFIG.mobile.smallBreakpoint;
1967
1968          // Если изменился тип SVG (переключение между desktop/mobile SVG)
1969          if (wasSmallMobile !== this.isSmallMobile) {
1970            this.updateSVGReferences();
1971            this.initSVG();
1972
1973            // Сбрасываем или применяем сдвиги в зависимости от размера
1974            if (this.diagramCells) {
1975              if (this.isSmallMobile) {
1976                // Применяем текущие сдвиги
1977                const panelNumber = (this.currentIndex + 1).toString();
1978                this.animateCellsOffset(panelNumber);
1979              } else {
1980                // Сбрасываем сдвиги на больших экранах
1981                gsap.set(this.diagramCells, { x: 0 });
1982                if (this.diagramLineMob) {
1983                  gsap.set(this.diagramLineMob, { x: 0 });
1984                }
1985              }
1986            }
1987          }
1988
1989          if (!this.isMobile) {
1990            this.setStickyTop();
1991          } else {
1992            if (this.diagram) {
1993              this.diagram.style.top = '';
1994            }
1995          }
1996
1997          if (wasMobile !== this.isMobile) {
1998            this.handleModeChange();
1999          }
2000
2001          ScrollTrigger.refresh();
2002        }, 250);
2003      });
2004    }
2005
2006    handleModeChange() {
2007      // Обновляем видимость навигации
2008      this.updateNavigationVisibility();
2009
2010      // Переключаем ScrollTrigger
2011      if (!this.isMobile) {
2012        this.setStickyTop();
2013        this.initScrollTriggers();
2014      } else {
2015        if (this.diagram) {
2016          this.diagram.style.top = '';
2017        }
2018        this.destroyScrollTriggers();
2019      }
2020
2021      ScrollTrigger.refresh();
2022    }
2023
2024    destroyScrollTriggers() {
2025      this.scrollTriggersArray.forEach((st) => st.kill());
2026      this.scrollTriggersArray = [];
2027    }
2028
2029    destroy() {
2030      this.destroyScrollTriggers();
2031    }
2032  }
2033
2034  // Инициализация после загрузки DOM
2035  document.addEventListener('DOMContentLoaded', () => {
2036    window.diagramAnimation = new DiagramAnimation('.diagram-track');
2037  });
2038
2039</script>
2039</div></div><div class="page-wrapper"><header class="header"><div data-animation="over-right" class="nav w-nav" data-easing2="ease" fs-scrolldisable-element="smart-nav" data-easing="ease" data-collapse="tiny" role="banner" data-duration="400" data-doc-height="1"><div class="nav-overlay"></div><div class="container nav-container"><a href="/" aria-label="zebeyond logo" class="logo nav-logo w-nav-brand"><img width="136" height="26" alt="" src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697aba4/691fe9a45470bd6d1697abd6_Logo.svg" loading="lazy" class="logo__img"/></a><nav role="navigation" class="nav__menu-wrap w-nav-menu"><div fs-scrolldisable-element="preserve" class="nav__menu"><div class="nav__menu-top"><a href="/" aria-label="zebeyond logo" class="logo nav-logo w-nav-brand"><img width="136" height="26" alt="" src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697aba4/691fe9a45470bd6d1697abd6_Logo.svg" loading="lazy" class="logo__img"/></a><button type="button" aria-label="close menu" data-close-menu="" class="burger__box"><div class="burger__close w-embed"><svg width="100%" height="100%" viewBox="0 0 14 10" fill="none" xmlns="http://www.w3.org/2000/svg" role="img">
2040  <rect width="13" height="1" transform="matrix(-0.707107 -0.707107 -0.707107 0.707107 11.8994 9.19238)" fill="currentcolor" />
2041  <rect x="2" y="9.19238" width="13" height="1" transform="rotate(-45 2 9.19238)" fill="currentcolor" />
2042</svg></div></button></div><ul role="list" class="nav__list"><li class="nav__list-item"><div data-hover="false" data-delay="0" class="nav-dropdown w-dropdown"><div class="nav-link is-nav-dropdown w-dropdown-toggle"><div class="control-s--h4">Solutions</div><div data-dropdown-arrow="" class="nav-link-arrow w-embed"><svg width="100%" height="100%" viewBox="0 0 19 18" fill="none" xmlns="http://www.w3.org/2000/svg">
2043  <path d="M5 7.5L9.5 12L14 7.5" stroke="currentcolor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
2044</svg></div></div><nav class="nav-dropdown-list w-dropdown-list"><div class="nav-dropdown-box"><ul role="list" class="nav-list w-list-unstyled"><li class="nav-list__item"><a data-tab-target="epop-concept" href="/solutions?tab=epop-concept#product-suite" class="nav-list__link w-inline-block"><div class="control-s--h4">ePOP Concept</div></a></li><li class="nav-list__item"><a data-tab-target="epop-pro" href="/solutions?tab=epop-pro#product-suite" class="nav-list__link w-inline-block"><div class="control-s--h4">ePOP Pro</div></a></li><li class="nav-list__item"><a data-tab-target="benchmarking" href="/solutions?tab=benchmarking#product-suite" class="nav-list__link w-inline-block"><div class="control-s--h4">Benchmarking</div></a></li></ul></div></nav></div></li><li class="nav__list-item"><a href="/case-studies" class="nav-link w-inline-block"><div class="control-s--h4">Case studies</div></a></li><li class="nav__list-item"><div data-hover="false" data-delay="0" class="nav-dropdown w-dropdown"><div class="nav-link is-nav-dropdown w-dropdown-toggle"><div class="control-s--h4">Company</div><div data-dropdown-arrow="" class="nav-link-arrow w-embed"><svg width="100%" height="100%" viewBox="0 0 19 18" fill="none" xmlns="http://www.w3.org/2000/svg">
2045  <path d="M5 7.5L9.5 12L14 7.5" stroke="currentcolor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
2046</svg></div></div><nav class="nav-dropdown-list w-dropdown-list"><div class="nav-dropdown-box"><ul role="list" class="nav-list w-list-unstyled"><li class="nav-list__item"><a href="/about-us" class="nav-list__link w-inline-block"><div class="control-s--h4">About us</div></a></li><li class="nav-list__item"><a href="/careers" class="nav-list__link w-inline-block"><div class="control-s--h4">Careers</div></a></li><li class="nav-list__item"><a href="/newsroom" class="nav-list__link w-inline-block"><div class="control-s--h4">Newsroom</div></a></li><li class="nav-list__item"><a href="/faq" class="nav-list__link w-inline-block"><div class="control-s--h4">FAQ</div></a></li></ul></div></nav></div></li></ul><div class="nav__menu-footer"><div class="nav__menu-btns"><a href="mailto:[email protected]" class="btn-min w-inline-block"><div class="icon-22 w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewB
2046ox="0 0 22 22" fill="none">
2047  <path d="M3.35 5.38723L10.1068 11.1835C10.6171 11.6213 11.3829 11.6213 11.8932 11.1835L18.65 5.38723M4.7 18H17.3C18.7912 18 20 16.8247 20 15.375V6.625C20 5.17525 18.7912 4 17.3 4H4.7C3.20883 4 2 5.17525 2 6.625V15.375C2 16.8247 3.20883 18 4.7 18Z" stroke="currentcolor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2048</svg></div></a><a href="https://account.epop.tech/Account/Login" class="btn-min w-inline-block"><div class="icon-22 w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 22 22" fill="none">
2049  <path d="M12.771 3H14.7287C16.2238 3 16.9713 3 17.5424 3.29065C18.0447 3.54631 18.4531 3.95426 18.709 4.45603C19 5.02646 19 5.77319 19 7.26667V14.7333C19 16.2268 19 16.9735 18.709 17.544C18.4531 18.0457 18.0447 18.4537 17.5424 18.7094C16.9713 19 16.2238 19 14.7287 19H12.771M13.2142 11L9.41532 14.7948M13.2142 11L9.41532 7.20524M13.2142 11H3" stroke="currentcolor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2050</svg></div></a></div><a href="/book-a-demo" class="btn nav-btn w-inline-block"><div class="control-s">Request a quote</div></a></div></div></nav><div id="w-node-_039cd56d-a547-bca2-8bde-21595c0286b3-5c028695" class="nav__right"><div class="nav-btns-min"><a href="#" class="btn-min w-inline-block"><div class="icon-22 w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 22 22" fill="none">
2051  <path d="M19 19L15.4444 15.4444M17.2222 10.1111C17.2222 14.0385 14.0385 17.2222 10.1111 17.2222C6.18375 17.2222 3 14.0385 3 10.1111C3 6.18375 6.18375 3 10.1111 3C14.0385 3 17.2222 6.18375 17.2222 10.1111Z" stroke="currentcolor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2052</svg></div></a><a href="mailto:[email protected]" class="btn-min w-inline-block"><div class="icon-22 w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 22 22" fill="none">
2053  <path d="M3.35 5.38723L10.1068 11.1835C10.6171 11.6213 11.3829 11.6213 11.8932 11.1835L18.65 5.38723M4.7 18H17.3C18.7912 18 20 16.8247 20 15.375V6.625C20 5.17525 18.7912 4 17.3 4H4.7C3.20883 4 2 5.17525 2 6.625V15.375C2 16.8247 3.20883 18 4.7 18Z" stroke="currentcolor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2054</svg></div></a><a href="https://account.epop.tech/Account/Login" class="btn-min w-inline-block"><div class="icon-22 w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 22 22" fill="none">
2055  <path d="M12.771 3H14.7287C16.2238 3 16.9713 3 17.5424 3.29065C18.0447 3.54631 18.4531 3.95426 18.709 4.45603C19 5.02646 19 5.77319 19 7.26667V14.7333C19 16.2268 19 16.9735 18.709 17.544C18.4531 18.0457 18.0447 18.4537 17.5424 18.7094C16.9713 19 16.2238 19 14.7287 19H12.771M13.2142 11L9.41532 14.7948M13.2142 11L9.41532 7.20524M13.2142 11H3" stroke="currentcolor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2056</svg></div></a></div><a href="/book-a-demo" class="btn nav-btn w-inline-block"><div class="control-s">Request a quote</div></a></div><div class="burger w-nav-button"><div class="burger__box"><div class="burger__open w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 22 22" fill="none">
2057  <path d="M2 11L14 11M2 4L20 4M2 18L20 18" stroke="currentcolor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2058</svg></div></div></div></div></div></header><main class="main-wrapper"><section class="s-hero"><div class="page-padding"><div class="container"><ul role="list" class="breadcrumbs"><li class="breadcrumbs-item"><a data-link-ondark="" href="/" class="breadcrumbs-link w-inline-block"><div class="control-m">Home</div></a><div class="control-m">/</div></li><li class="breadcrumbs-item is-item-name"><div class="control-m">Solutions</div></li></ul><div class="spacer-60 mob-40"></div><div class="wrap s-hero__wrap"><div class="heading s-hero__heading"><h2 data-title-anim-gr="" class="header-h2">Everything you need for smarter electrification — in one product</h2></div><div class="spacer-60 mob-40"></div><div class="s-solutions-col-wrap w-dyn-list"><div role="list" class="s-solutions-col-list w-dyn-items"><div role="listitem" class="s-solutions-col-item w-dyn-item"><article class="s-solutions-item"><div class="s-solutions-item__upper"><h2 class="header-h4">ePOP Concept</h2><p class="body-m text-secondary-ondark">Build electrification cases in hours with ePOP’s physics-based platform.</p></div><div class="s-solutions-item__lower"><div class="s-solutions-item__step"><div class="btn-min s-solutions-item__step-icon"><div class="s-solutions-item__step-icon_arrow"><div class="icon-24 mob-20 w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewB
2058ox="0 0 24 24" fill="none">
2059  <path d="M9 18L15 12L9 6" stroke="currentcolor" stroke-opacity="0.6" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2060</svg></div></div></div></div><div class="s-solutions-item__video-wrap"><video src="https://www.dropbox.com/scl/fi/dbku7i7uypuzsmoswpfcl/ePOP-Arial-Work-Platform-Power-System-Answers-1.mp4?rlkey=cgz3olzlvr74ua5ol91ud8clb&amp;st=m2817zxy&amp;raw=1" playsinline="true" loop="" controls="" data-start-time="332" preload="metadata" loading="lazy" data-target-video="" class="s-solutions-item__video"></video></div></div></article></div><div role="listitem" class="s-solutions-col-item w-dyn-item"><article class="s-solutions-item"><div class="s-solutions-item__upper"><h2 class="header-h4">ePOP Pro</h2><p class="body-m text-secondary-ondark">Find the best fit through detailed models and real-time insights.</p></div><div class="s-solutions-item__lower"><div class="s-solutions-item__step"><div class="btn-min s-solutions-item__step-icon"><div class="s-solutions-item__step-icon_arrow"><div class="icon-24 mob-20 w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none">
2061  <path d="M9 18L15 12L9 6" stroke="currentcolor" stroke-opacity="0.6" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2062</svg></div></div></div></div><div class="s-solutions-item__video-wrap"><video src="https://www.dropbox.com/scl/fi/gn9auurcagvhlbork0ta8/ePOP-Desktop-Designing-a-hybrid-powertrain-for-a-C-segment-passenger-vehicle-1-1.mp4?rlkey=bht2zs0gd1u41jvnzf0l3emwb&amp;st=218n4rds&amp;raw=1" playsinline="true" loop="" controls="" data-start-time="587" preload="metadata" loading="lazy" data-target-video="" class="s-solutions-item__video"></video></div></div></article></div><div role="listitem" class="s-solutions-col-item w-dyn-item"><article class="s-solutions-item"><div class="s-solutions-item__upper"><h2 class="header-h4">Benchmarking</h2><p class="body-m text-secondary-ondark">Turn complex simulations into clear visuals that align results with KPIs.</p></div><div class="s-solutions-item__lower"><div class="s-solutions-item__step"><div class="btn-min s-solutions-item__step-icon"><div class="s-solutions-item__step-icon_arrow"><div class="icon-24 mob-20 w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none">
2063  <path d="M9 18L15 12L9 6" stroke="currentcolor" stroke-opacity="0.6" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2064</svg></div></div></div></div><div class="s-solutions-item__video-wrap"><video src="https://www.dropbox.com/scl/fi/5aizivzg45fzsx0rvl4p5/EDU-Benchmarking-A2MAC1-min.mp4?rlkey=mjbm422jdoxqxo2eg6qvy1a16&amp;raw=1" playsinline="true" loop="" controls="" data-start-time="90" preload="metadata" loading="lazy" data-target-video="" class="s-solutions-item__video"></video></div></div></article></div></div></div></div></div></div><div class="s-hero__bg"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697aba4/6920d04625c8ed8f3b88f9b5_solutions-hero--d.avif" loading="lazy" width="2160" height="1463" alt="" class="img-full-cover mob-off"/><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697aba4/6920d0469bdd18745b1ef197_solutions-hero--m.avif" loading="lazy" width="563" height="1418" alt="" class="img-full-cover mob-on"/></div></section><section class="proposition"><div class="page-padding mob-0"><div class="container"><div class="wrap proposition__wrap"><div class="heading proposition__heading"><div class="caption"><div class="icon-22 w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 22 22" fill="none">
2065  <path d="M18.9963 13.54L12.8403 16.4216C12.1644 16.738 11.8264 16.8962 11.4732 16.9586C11.1603 17.0138 10.8397 17.0138 10.5268 16.9586C10.1736 16.8962 9.83563 16.738 9.1597 16.4216L3.00374 13.54M12.8569 12.0407L16.7593 10.1937C18.0309 9.59185 18.6667 9.29091 18.8684 8.8803C19.0439 8.52316 19.0439 8.10734 18.8684 7.7502C18.6667 7.33959 18.0309 7.03866 16.7592 6.43679L12.8569 4.5898C12.1751 4.26713 11.8343 4.1058 11.4777 4.04223C11.1618 3.98592 10.8382 3.98592 10.5223 4.04223C10.1657 4.1058 9.82485 4.26713 9.14311 4.5898L5.24075 6.4368C3.96912 7.03866 3.33331 7.33959 3.13159 7.7502C2.95614 8.10734 2.95614 8.52316 3.13159 8.8803C3.33331 9.29091 3.96912 9.59185 5.24075 10.1937L9.14311 12.0407C9.82485 12.3634 10.1657 12.5247 10.5223 12.5883C10.8382 12.6446 11.1618 12.6446 11.4777 12.5883C11.8343 12.5247 12.1752 12.3634 12.8569 12.0407Z" stroke="#FCFCFC" stroke-opacity="0.6" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2066</svg></div><p class="caption-l">Unified value proposition</p></div><div class="spacer-16 mob-10"></div><h2 class="header-h2">We’re all about <span data-title-anim-gr="">optimizing system</span> losses component 
to <span data-title-anim-gr="">system integration</span></h2></div><div class="spacer-60 mob-40"></div><div class="p-chart"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697aba4/69257ba9fb9ffcf4e3974a7b_Chart%20v5.svg" loading="lazy" width="1280" height="658" alt="" class="p-chart__img-d"/><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697aba4/692448a149d84875b774df80_Chart%20v3%20mob.svg" loading="lazy" width="663" height="527" alt="" class="p-chart__img-m"/></div></div></div></div></section><section class="concept"><div class="page-padding"><div class="container"><div class="wrap concept__wrap"><div class="heading concept__heading"><div class="caption"><div class="icon-22 w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewB
2066ox="0 0 22 22" fill="none">
2067  <path d="M18.1027 11.0111C18.1027 6.86282 14.7935 3.5 10.7113 3.5C8.37713 3.5 6.29565 4.5995 4.94106 6.31665M16.0857 10.7077L18.1473 12.5904L20 10.4953M3.86754 11.028C3.86754 15.1547 7.15956 18.5 11.2205 18.5C13.2512 18.5 15.0896 17.6635 16.4202 16.3111M5.8774 11.8647L3.73151 10.1052L2 12.2858" stroke="currentcolor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2068</svg></div><p class="caption-l">The concept phase</p></div><div class="spacer-16 mob-10"></div><h2 class="header-h2"><span data-title-anim-gr="">Use ePOP in engineering</span> - from concept exploration to <span data-title-anim-gr="">component specification</span></h2></div><div class="spacer-60 mob-40"></div><div class="diagram-track"><div class="diagram-scroll-triggers"><div data-scroll-trigger="1" class="diagram-scroll-trigger"></div><div data-scroll-trigger="2" class="diagram-scroll-trigger"></div><div data-scroll-trigger="3" class="diagram-scroll-trigger"></div><div data-scroll-trigger="4" class="diagram-scroll-trigger"></div></div><div class="diagram"><div data-diagram-mobile-nav="" class="diagram-mobile-nav"><button data-diagram-nav="prev" type="button" aria-label="prev" class="btn-min"><div class="icon-22 w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 22 22" fill="none">
2069  <path d="M17 11H5.12061M11 17L5 11L11 5" stroke="currentcolor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2070</svg></div></button><div data-diagram-counter="" class="caption-l">1-4</div><button data-diagram-nav="next" type="button" aria-label="next" class="btn-min"><div class="icon-22 w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 22 22" fill="none">
2071  <path d="M5 11H16.8794M11 17L17 11L11 5" stroke="currentcolor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2072</svg></div></button></div><div class="diagram-box"><div data-diagram-panel="1" class="diagram-box__content active"><img width="60" height="60" alt="" src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697aba4/691fe9a45470bd6d1697abda_Market%20study.svg" loading="lazy" class="diagram-box__icon"/><p class="body-l">ePOP can display data from benchmark measurements side-by-side with the concepts being explored, allowing teams to easily compare performance metrics.</p></div><div data-diagram-panel="2" class="diagram-box__content"><img width="60" height="60" alt="" src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697aba4/691fe9a45470bd6d1697abdb_System%20specification.svg" loading="lazy" class="diagram-box__icon"/><p class="body-l">ePOP has frequently used system level architectures built-in to allow rapid investigations without the need to build models from scratch.</p></div><div data-diagram-panel="3" class="diagram-box__content"><img width="60" height="60" alt="" src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697aba4/691fe9a45470bd6d1697abdd_Component%20specification.svg" loading="lazy" class="diagram-box__icon"/><p class="body-l">ePOP enables creating, importing, and viewing components in isolation — and combining many into system-level solutions for design exploration.</p></div><div data-diagram-panel="4" class="diagram-box__content"><img width="60" height="60" alt="" src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697aba4/691fe9a45470bd6d1697abf4_Detailed%20design.svg" loading="lazy" class="diagram-box__icon"/><p class="body-l">In its component models, ePOP allows higher fidelity to include detailed design choices (such as material selection) very early in the concepting phase.</p></div></div><div class="diagram-cells"><div class="diagram-row"><div class="diagram-row__box"><button type="button" data-diagram-btn="1" class="cell-wrap is-right-shift active"><div class="cell"><div class="cell-border"></div><div class="cell-text"><div class="caption-m--s">Market study</div></div></div></button><div class="cell-wrap"><div class="diagram-line w-embed"><svg width="100%" height="100%" viewBox="0 0 168 441" fill="none" xmlns="http://www.w3.org/2000/svg">
2073  <path d="M157 0.5H5.82968C3.02105 0.5 1.087 3.31871 2.09758 5.93924L72.5 188.5L130.6 349.5L160.6 433" stroke="url
2073(#paint0_linear_703_13895)" />
2074  <rect x="161.657" y="429.5" width="8" height="8" rx="1" transform="rotate(45 161.657 429.5)" fill="#02F2AA" />
2075  <defs>
2076    <linearGradient id="paint0_linear_703_13895" x1="71.5" y1="160" x2="168" y2="-7.14288" gradientUnits="userSpaceOnUse">
2077      <stop stop-color="#02F2AA" />
2078      <stop offset="0.293269" stop-color="#26D2E2" />
2079      <stop offset="0.576923" stop-color="#26D2E2" stop-opacity="0.5" />
2080      <stop offset="1" stop-color="#3D4341" />
2081    </linearGradient>
2082  </defs>
2083</svg></div><div class="diagram-line-mob w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 58 237" fill="none">
2084  <path d="M5.00544 0.101134L18.0055 65.6011L29.5055 120.601L39.5054 167.601L41.2994 175.601L46.9525 202.601L52.6057 230.601" stroke="url(#paint0_linear_941_46418)"/>
2085  <rect width="5.94972" height="5.94972" rx="1" transform="matrix(0.701081 0.713082 -0.701081 0.713082 52.1763 227.601)" fill="#02F2AA"/>
2086  <defs>
2087    <linearGradient id="paint0_linear_941_46418" x1="52.6057" y1="230.601" x2="4.41981" y2="-1.54935" gradientUnits="userSpaceOnUse">
2088      <stop stop-color="#0EDEA1"/>
2089      <stop offset="0.432692" stop-color="#26BFCB"/>
2090      <stop offset="0.586939" stop-color="#2AC2C5"/>
2091      <stop offset="0.691134" stop-color="#18CEC0"/>
2092      <stop offset="0.73008" stop-color="#25DBC6"/>
2093      <stop offset="0.922509" stop-color="#3D4341" stop-opacity="0.8"/>
2094      <stop offset="0.986994" stop-color="#3D4341"/>
2095    </linearGradient>
2096  </defs>
2097</svg></div><div class="cell"><div class="cell-border is-concept"></div><div class="cell-text"><div class="caption-m--s">Concept exploration</div></div></div></div></div><div class="diagram-row__box"><div class="cell-wrap is-right"><div class="cell"><div class="cell-border is-right-disabled"></div><div class="cell-text is-right-disabled-15"><div class="caption-m--s">Acceptance test</div></div></div></div><div class="cell-wrap is-left-shift"><div class="cell"><div class="cell-border is-right-disabled"></div><div class="cell-text is-right-disabled-15"><div class="caption-m--s">Product maintenance</div></div></div></div></div></div><div class="diagram-row-2"><button type="button" data-diagram-btn="2" class="cell-wrap"><div class="cell"><div class="cell-border"></div><div class="cell-text"><div class="caption-m--s">System specification</div></div></div></button><div class="cell-wrap is-right"><div class="cell"><div class="cell-border is-right-disabled"></div><div class="cell-text is-right-disabled-15"><div class="caption-m--s">System verification</div></div></div></div></div><div class="diagram-row-3"><button type="button" data-diagram-btn="3" class="cell-wrap"><div class="cell"><div class="cell-border"></div><div class="cell-text"><div class="caption-m--s">Component specification</div></div></div></button><div class="cell-wrap is-right"><div class="cell"><div class="cell-border is-right-disabled"></div><div class="cell-text is-right-disabled-15"><div class="caption-m--s">Component integration</div></div></div></div></div><div class="diagram-row-4"><button type="button" data-diagram-btn="4" class="cell-wrap is-bottom"><div class="cell is-bottom"><div class="cell-border is-bottom"></div><div class="cell-text"><div class="caption-m--s">Detailed design</div></div></div></button></div></div></div></div></div></div></div></section><section id="product-suite" data-tabs-container="" class="suite"><div class="page-padding v2"><div class="container v2"><div class="wrap suite__wrap"><div class="heading suite__heading"><div class="caption onlight"><div class="icon-22 w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 22 22" fill="none">
2098  <path d="M11 11L11 19.3401M11 11L3.44444 6.82994M11 11L18.5556 6.82994M12.3814 19.4667L17.5369 16.4808C18.0694 16.1724 18.3357 16.0182 18.5295 15.7988C18.7011 15.6048 18.8308 15.3748 18.9102 15.1243C19 14.8411 19 14.5236 19 13.8886V8.11143C19 7.47639 19 7.15887 18.9102 6.87568C18.8308 6.62515 18.7011 6.39518 18.5295 6.20115C18.3357 5.98183 18.0694 5.82763 17.5369 5.51923L12.3814 2.53326C11.8772 2.24124 11.6251 2.09524 11.3581 2.038C11.1219 1.98733 10.8781 1.98733 10.6419 2.038C10.3749 2.09524 10.1228 2.24124 9.61861 2.53326L4.46306 5.51923C3.93057 5.82763 3.66433 5.98183 3.47046 6.20115C3.29895 6.39518 3.16915 6.62515 3.08975 6.87568C3 7.15887 3 7.47639 3 8.11143V13.8886C3 14.5236 3 14.8411 3.08975 15.1243C3.16915 15.3748 3.29895 15.6048 3.47046 15.7988C3.66433 16.0182 3.93057 16.1724 4.46306 16.4808L9.61862 19.4667C10.1228 19.7588 10.3749 19.9048 10.6419 19.962C10.8781 20.0127 11.1219 20.0127 11.3581 19.962C11.6251 19.9048 11.8772 19.7588 12.3814 19.4667Z" stroke="currentcolor" stroke-width="1.5" stroke-linecap="round"/>
2099</svg></div><p class="caption-l">Product suite</p></div><div class="spacer-16 mob-10"></div><h2 class="header-h2"><span data-title-anim-gr-onLight="">All-in-one product</span> - three ways 
to power your work</h2></div><div class="spacer-60 mob-40"></div><div data-pinned-toc="all" class="toc in-suite"><div class="toc__box"><div class="toc-wrap"><div class="toc-select-wrap in-suite"><div class="epop-tabs-wrap w-dyn-list"><div role="list" class="epop-tabs w-dyn-items"><div role="listitem" class="epop-tabs-item w-dyn-item"><a id="epop-concept" data-tab-btn="epop-concept" href="#" class="epop-tab w-inline-block"><div class="epop-tab__number"><div class="caption-l">0</div><div class="caption-l">1</div></div><div class="epop-tab__name"><div class="caption-l">/</div><div class="caption-l">ePOP Concept</div></div></a></div><div role="listitem" class="epop-tabs-item w-dyn-item"><a id="epop-pro" data-tab-btn="epop-pro" href="#" class="epop-tab w-inline-block"><div class="epop-tab__number"><div class="caption-l">0</div><div class="caption-l">2</div></div><div class="epop-tab__name"><div class="caption-l">/</div><div class="caption-l">ePOP Pro</div></div></a></div><div role="listitem" class="epop-tabs-item w-dyn-item"><a id="benchmarking" data-tab-btn="benchmarking" href="#" class="epop-tab w-inline-block"><div class="epop-tab__number"><div class="caption-l">0</div><div class="caption-l">3</div></div><div class="epop-tab__name"><div class="caption-l">/</div><div class="caption-l">Benchmarking</div></div></a></div></div></div></div></div></div></div><div class="epop-col-wrap w-dyn-list"><div role="list" class="epop-col-list w-dyn-items"><div data-tab-panel="epop-concept" role="listitem" class="epop-col-item w-dyn-item"><div class="epop-item"><div class="epop-item__box"><div class="epop-item__box-heading"><div class="epop-item__box-title"><div class="epop-item__box-number"><div class="caption-m">01</div></div><div class="caption-l">Overview</div></div></div><div class="epop-content"><div class="epop-top"><h3 class="header-h3 is-epop-title">Get to application answers at surprising speed</h3><div class="epop-top__descr"><p class="body-l text-secondary-onlight">Build credible electrification cases in under a day with ePOP’s intuitive, physics-based platform. Explore all power generation, transfer, and delivery options.
2099</p></div></div><div class="epop-body"><div id="w-node-_5c612c9d-e633-0d5d-f023-8c3c2f5478d2-3ad15797" class="epop-video-wrap"><div class="epop-video-border"><video src="https://www.dropbox.com/scl/fi/dbku7i7uypuzsmoswpfcl/ePOP-Arial-Work-Platform-Power-System-Answers-1.mp4?rlkey=cgz3olzlvr74ua5ol91ud8clb&amp;st=m2817zxy&amp;raw=1" playsinline="true" loop="" controls="" data-start-time="332" loading="lazy" preload="metadata" class="epop-video"></video></div></div><div id="w-node-_5c612c9d-e633-0d5d-f023-8c3c2f5478d5-3ad15797" class="epop-right"><div class="epop-rich-text w-richtext"><ul role="list"><li>Fast setup - under a day</li><li>Physics-based accuracy</li><li>Exploring all power options</li></ul></div></div><div id="w-node-_5c612c9d-e633-0d5d-f023-8c3c2f547909-3ad15797" class="epop-actions"><a data-wf--button--variant="mob-size-m" href="/book-a-demo" class="btn w-variant-b11c26b3-d5de-4476-b4e0-e9f9e87bdc79 w-inline-block"><div class="control-l">Request a Demo</div></a></div></div></div></div><div data-slider-wrap="" class="epop-item__box"><div class="epop-item__box-heading"><div class="epop-item__box-title"><div class="epop-item__box-number"><div class="caption-m">02</div></div><div class="caption-l">Workflow</div></div><h3 class="header-h3">How it works - key steps</h3></div><div data-workflows-slider="1" class="splide workflows-slider"><div class="splide__track workflows-track w-dyn-list"><div role="list" class="splide__list workflows-list w-dyn-items"><div role="listitem" class="splide__slide workflows-slide w-dyn-item"><div class="workflows-item"><div class="workflows-item__left"><h4 class="header-h4">Individual Function Cycle</h4><div class="epop-rich-text w-richtext"><ul role="list"><li>Load in different functional cycles (with millisecond resolution)</li><li>Tag each segment as Electrical direct, Hydraulic direct, or Mechanical</li><li>Combine cycles into a single consolidated duty profile</li><li>Browse power delivery scenarios</li><li>Import cycles from a spreadsheet</li></ul></div></div><div class="workflows-item__right"><div class="quarter-content__img-border"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/6923661f96bf689ce2788473_Individual%20Function%20Cycle.avif" loading="lazy" alt="Individual Function Cycle" sizes="100vw" srcset="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/6923661f96bf689ce2788473_Individual%20Function%20Cycle-p-500.avif 500w, https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/6923661f96bf689ce2788473_Individual%20Function%20Cycle.avif 810w" class="workflows-item__img"/></div></div></div></div><div role="listitem" class="splide__slide workflows-slide w-dyn-item"><div class="workflows-item"><div class="workflows-item__left"><h4 class="header-h4">Library</h4><div class="epop-rich-text w-richtext"><ul role="list"><li>Use a baseline component library (inverters, motors, ICEs, fuel systems, batteries, chargers, transmissions, hydraulic pumps/motors)</li><li>Define and load your own custom components (beyond the built-in ones)</li></ul></div></div><div class="workflows-item__right"><div class="quarter-content__img-border"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/6923663eef27bc15ca608f8c_Library.avif" loading="lazy" alt="Library" sizes="100vw" srcset="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/6923663eef27bc15ca608f8c_Library-p-500.avif 500w, https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/6923663eef27bc15ca608f8c_Library.avif 810w" class="workflows-item__img"/></div></div></div></div><div role="listitem" class="splide__slide workflows-slide w-dyn-item"><div class="workflows-item"><div class="workflows-item__left"><h4 class="header-h4">Configuration</h4><div class="epop-rich-text w-richtext"><ul role="list"><li>Select components from the library</li><li>Build and compare two powertrain scenarios</li><li>Choose the architecture (parallel, series, etc.) and power sources</li><li>Perform sweeps to find optimal architecture</li><li>Set operation parameters: number of cycles, years, cost assumptions</li></ul></div></div><div class="workflows-item__right"><div class="quarter-content__img-border"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/6923664b3c0eb0b468ed04ef_Configuration.avif" loading="lazy" alt="Configuration" sizes="100vw" srcset="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/6923664b3c0eb0b468ed04ef_Configuration-p-500.avif 500w, https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/6923664b3c0eb0b468ed04ef_Configuration.avif 810w" class="workflows-item__img"/>
2099</div></div></div></div><div role="listitem" class="splide__slide workflows-slide w-dyn-item"><div class="workflows-item"><div class="workflows-item__left"><h4 class="header-h4">Results</h4><div class="epop-rich-text w-richtext"><ul role="list"><li>Determine the optimal level of electrification based on the cycle, budget, and horizon</li><li>Detailed KPI breakdowns by component (cost, mass, etc.)</li><li>Compare lifetime fuel usage (ICE vs hybrid vs fully electric)</li><li>Export a “shopping list” specification for the optimal powertrain setup</li></ul></div></div><div class="workflows-item__right"><div class="quarter-content__img-border"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692366746cec67374a428811_Results.avif" loading="lazy" alt="Results" sizes="100vw" srcset="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692366746cec67374a428811_Results-p-500.avif 500w, https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692366746cec67374a428811_Results.avif 810w" class="workflows-item__img"/></div></div></div></div></div></div><div class="slider-nav"><div class="splide__pagination slider-pagination"></div><button data-slider-btn-prev="" type="button" aria-label="prev" class="btn-min on-light"><div class="icon-22 w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 22 22" fill="none">
2100  <path d="M17 11H5.12061M11 17L5 11L11 5" stroke="currentcolor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2101</svg></div></button><button data-slider-btn-next="" type="button" aria-label="next" class="btn-min on-light"><div class="icon-22 w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 22 22" fill="none">
2102  <path d="M5 11H16.8794M11 17L17 11L11 5" stroke="currentcolor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2103</svg></div></button></div></div></div><div class="epop-item__box"><div class="epop-item__box-heading"><div class="epop-item__box-title"><div class="epop-item__box-number"><div class="caption-m">03</div></div><div class="caption-l">Key capabilities</div></div><h3 class="header-h3">Behind the solution - main functions</h3></div><div class="epop-item__cards"><div data-fadeIn="" class="s-card-v2"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/6923571d05f83c411c6e2de2_bar-chart-circle.svg" loading="lazy" width="60" height="60" alt="" class="icon-60"/><p class="caption-l">High-fidelity cycle modelling</p></div><div data-fadeIn="" class="s-card-v2"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/69235721a49bacc9bb384361_layout-top.svg" loading="lazy" width="60" height="60" alt="" class="icon-60"/><p class="caption-l">Comprehensive component and architecture library</p></div><div data-fadeIn="" class="s-card-v2"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692357250cea84442b8aa079_shuffle.svg" loading="lazy" width="60" height="60" alt="" class="icon-60"/><p class="caption-l">Architecture comparison &amp; optimization</p></div><div data-fadeIn="" class="s-card-v2"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/69235728e9fa2376c4a6eef5_database.svg" loading="lazy" width="60" height="60" alt="" class="icon-60"/><p class="caption-l">Insightful output and decision support</p></div></div></div><div class="epop-item__box is-cases"><div class="epop-item__box-heading"><div class="epop-item__box-title"><div class="epop-item__box-number"><div class="caption-m">04</div></div><div class="caption-l">Case studies</div></div><h3 class="header-h3">Practical examples and proven results</h3></div><div id="w-node-_6e436e62-0f6e-ddaa-5a4c-d7abbb8dafb2-3ad15797" class="cases-col-wrap w-dyn-list"><div role="list" class="cases-col-list w-dyn-items"><div role="listitem" class="cases-col-item w-dyn-item"><div class="case-item"><div class="case-item__img-wrap"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/691fe9a45470bd6d1697ade5_General%20Service%204x4%20vehicles%20M.svg" loading="lazy" alt="" class="case-item__img"/>
2103</div><div class="case-item__info"><div><div class="tags"><div class="tag is-product-tag w-condition-invisible"><div class="caption-xs-upp w-dyn-bind-empty"></div></div><div style="color:#b973ff;background-color:rgba(185, 115, 255, 0.1)" class="tag"><div class="case-item__icon w-richtext"><div class="w-embed"><svg width="100%" height="100%" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
2104<path d="M13.2715 4C13.6027 4 13.9125 4.16449 14.0986 4.43848L16.8271 8.45703C16.9959 8.70552 17.0438 9.01687 16.958 9.30469L16.1289 12.0859C16.0025 12.5095 15.6128 12.7996 15.1709 12.7998H15.0527C15.0527 14.0127 14.154 14.9999 13.0498 15C11.9456 15 11.0469 14.0127 11.0469 12.7998H10.0459C10.0459 14.0127 9.14721 15 8.04297 15C6.93904 14.9998 6.04102 14.0126 6.04102 12.7998H5.04004C5.04004 14.0127 4.14122 15 3.03711 15C1.93289 15 1.03418 14.0127 1.03418 12.7998H1C0.447715 12.7998 0 12.3521 0 11.7998V5C0.000176614 4.44787 0.447824 4 1 4H13.2715ZM3.03711 11.7002C2.48511 11.7002 2.03618 12.1933 2.03613 12.7998C2.03613 13.4063 2.48508 13.8994 3.03711 13.8994C3.58917 13.8994 4.03809 13.4063 4.03809 12.7998C4.03804 12.1932 3.58914 11.7002 3.03711 11.7002ZM8.04297 11.7002C7.49112 11.7004 7.04204 12.1934 7.04199 12.7998C7.04199 13.4061 7.49109 13.8992 8.04297 13.8994C8.59516 13.8994 9.04492 13.4063 9.04492 12.7998C9.04487 12.1932 8.59513 11.7002 8.04297 11.7002ZM13.0498 11.7002C12.4978 11.7002 12.0489 12.1932 12.0488 12.7998C12.0488 13.4063 12.4977 13.8994 13.0498 13.8994C13.6018 13.8994 14.0508 13.4062 14.0508 12.7998C14.0507 12.1933 13.6018 11.7003 13.0498 11.7002ZM1.30078 9.5C1.13539 9.50023 1.00113 9.63439 1.00098 9.7998V11.3994C1.00098 11.565 1.13817 11.7 1.30371 11.7002C1.65048 11.0433 2.29753 10.5996 3.03711 10.5996C3.77671 10.5996 4.42373 11.0433 4.77051 11.7002H6.31055C6.65726 11.0434 7.30367 10.5998 8.04297 10.5996C8.78257 10.5996 9.42959 11.0433 9.77637 11.7002H11.3164C11.6632 11.0433 12.3102 10.5996 13.0498 10.5996C13.7894 10.5997 14.4364 11.0433 14.7832 11.7002H14.9668C15.0993 11.7001 15.216 11.6124 15.2539 11.4854L15.7314 9.88574C15.7887 9.69353 15.6448 9.50027 15.4443 9.5H1.30078ZM1.30078 5.10059C1.1353 5.10082 1.00098 5.23485 1.00098 5.40039V8.09961C1.00098 8.26515 1.13529 8.40016 1.30078 8.40039H14.9736C15.2141 8.40008 15.3566 8.13069 15.2217 7.93164L13.3887 5.23145C13.3329 5.14935 13.2399 5.10071 13.1406 5.10059H1.30078ZM3.99023 6.2002C4.29416 6.2002 4.54102 6.44705 4.54102 6.75098C4.54076 7.05468 4.294 7.30078 3.99023 7.30078H3.08691C2.78315 7.30078 2.53639 7.05468 2.53613 6.75098C2.53613 6.44705 2.78299 6.2002 3.08691 6.2002H3.99023ZM7.99609 6.2002C8.29997 6.20025 8.5459 6.44709 8.5459 6.75098C8.54564 7.05464 8.29981 7.30072 7.99609 7.30078H7.0918C6.78811 7.30069 6.54225 7.05462 6.54199 6.75098C6.54199 6.44711 6.78795 6.20028 7.0918 6.2002H7.99609ZM12.001 6.2002C12.3049 6.20024 12.5508 6.44708 12.5508 6.75098C12.5505 7.05465 12.3047 7.30074 12.001 7.30078H11.0967C10.7931 7.30061 10.5471 7.05457 10.5469 6.75098C10.5469 6.44716 10.7929 6.20037 11.0967 6.2002H12.001Z" fill="currentcolor"/>
2105</svg></div></div><div fs-list-field="tag" class="caption-xs-upp in-industry-tag">Defense</div></div></div><div class="spacer-16 mob-12"></div><h3 data-text-style-2lines="" fs-list-field="name" class="header-h5 mob-h4">Assessing Hybridisation Pathways for Legacy Fleet of General Service 4x4 vehicles</h3></div><div class="spacer-32 mob-24"></div><a data-link-gr="" href="/case-studies/assessing-hybridisation-pathways-for-legacy-fleet-of-general-service-4x4-vehicles" class="btn-text w-inline-block"><div data-btn-text-gr="" class="control-l">Read case study</div><div class="btn-text__arrow w-embed"><svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2106  <path d="M5 12H18.8593M12 19L19 12L12 5" stroke="url(#paint0_linear_2018_16755)" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
2107  <defs>
2108    <linearGradient id="paint0_linear_2018_16755" x1="19" y1="13.645" x2="5" y2="13.645" gradientUnits="userSpaceOnUse">
2109      <stop stop-color="#02F2AA" />
2110      <stop offset="1" stop-color="#26D2E2" />
2111    </linearGradient>
2112  </defs>
2113</svg></div></a></div></div></div><div role="listitem" class="cases-col-item w-dyn-item"><div class="case-item"><div class="case-item__img-wrap"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/691fe9a45470bd6d1697adeb_Double%20the%20flight%20duration%20of%20a%20battery%20powered%20eVTOL%20M.svg" loading="lazy" alt="" class="case-item__img"/>
2113</div><div class="case-item__info"><div><div class="tags"><div class="tag is-product-tag w-condition-invisible"><div class="caption-xs-upp w-dyn-bind-empty"></div></div><div style="color:#ff739e;background-color:rgba(255, 115, 158, 0.1)" class="tag"><div class="case-item__icon w-dyn-bind-empty w-richtext"></div><div fs-list-field="tag" class="caption-xs-upp in-industry-tag">Aerospace</div></div></div><div class="spacer-16 mob-12"></div><h3 data-text-style-2lines="" fs-list-field="name" class="header-h5 mob-h4">Double the flight duration of a battery powered eVTOL </h3></div><div class="spacer-32 mob-24"></div><a data-link-gr="" href="/case-studies/double-the-flight-duration-of-a-battery-powered-evtol" class="btn-text w-inline-block"><div data-btn-text-gr="" class="control-l">Read case study</div><div class="btn-text__arrow w-embed"><svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2114  <path d="M5 12H18.8593M12 19L19 12L12 5" stroke="url(#paint0_linear_2018_16755)" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
2115  <defs>
2116    <linearGradient id="paint0_linear_2018_16755" x1="19" y1="13.645" x2="5" y2="13.645" gradientUnits="userSpaceOnUse">
2117      <stop stop-color="#02F2AA" />
2118      <stop offset="1" stop-color="#26D2E2" />
2119    </linearGradient>
2120  </defs>
2121</svg></div></a></div></div></div><div role="listitem" class="cases-col-item w-dyn-item"><div class="case-item"><div class="case-item__img-wrap"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/691fe9a45470bd6d1697adea_Hybridisation%20and%20Battery%20Sizing%20Study%20for%20a%20Reach%20stacker%20M.svg" loading="lazy" alt="" class="case-item__img"/></div><div class="case-item__info"><div><div class="tags"><div class="tag is-product-tag w-condition-invisible"><div class="caption-xs-upp w-dyn-bind-empty"></div></div><div style="color:#ff822f;background-color:rgba(255, 130, 47, 0.1)" class="tag"><div class="case-item__icon w-richtext"><div class="w-embed"><svg width="100%" height="100%" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
2122<path d="M11.5 3C11.7759 3 11.9999 3.2241 12 3.5V12.667H16.5C16.776 12.667 17 12.891 17 13.167C16.9999 13.4429 16.776 13.667 16.5 13.667H10.2998C10.145 14.4265 9.47195 14.9998 8.66699 15C7.86194 15 7.1891 14.4265 7.03418 13.667H5.63281C5.47792 14.4265 4.80508 15 4 15C3.19492 15 2.52208 14.4265 2.36719 13.667H2.16699C1.52366 13.667 1 13.1433 1 12.5V9.5C1.00012 8.48887 1.8219 7.66717 2.83301 7.66699H4.33301V4.16699C4.33301 3.8911 4.55716 3.66717 4.83301 3.66699H7.01758C7.79348 3.6671 8.48812 4.1587 8.74609 4.89062L10.3145 9.33398H11V3.5C11.0001 3.2241 11.2241 3 11.5 3ZM4 12.667C3.632 12.667 3.33301 12.9667 3.33301 13.334C3.33324 13.7011 3.63214 14 4 14C4.36786 14 4.66676 13.7011 4.66699 13.334C4.66699 12.9667 4.368 12.667 4 12.667ZM8.66699 12.667C8.29899 12.667 8 12.9667 8 13.334C8.00024 13.7011 8.29914 14 8.66699 14C9.0347 13.9998 9.33277 13.701 9.33301 13.334C9.33301 12.9668 9.03484 12.6672 8.66699 12.667ZM2.83301 8.66699C2.3739 8.66717 2.00012 9.04087 2 9.5V12.5C2 12.5907 2.07633 12.667 2.16699 12.667H2.47363C2.73133 12.0792 3.31783 11.667 4 11.667C4.68217 11.667 5.26867 12.0792 5.52637 12.667H7.13965C7.3973 12.079 7.98473 11.667 8.66699 11.667C9.34907 11.6671 9.93573 12.0792 10.1934 12.667H11V10.334H6.16699C6.10514 10.334 6.04369 10.3302 5.9834 10.3242C5.96267 10.3222 5.94239 10.3172 5.92188 10.3145C5.88312 10.3093 5.8446 10.3045 5.80664 10.2969C5.78691 10.2929 5.76754 10.2878 5.74805 10.2832C5.70917 10.2741 5.67069 10.2645 5.63281 10.2529C5.60742 10.2452 5.58253 10.2363 5.55762 10.2275C5.53045 10.2179 5.50313 10.2091 5.47656 10.1982C5.44368 10.1848 5.41178 10.1695 5.37988 10.1543C5.35987 10.1447 5.33992 10.1352 5.32031 10.125C5.29402 10.1113 5.26869 10.096 5.24316 10.0811C5.21652 10.0654 5.18983 10.0501 5.16406 10.0332C5.14372 10.0199 5.12427 10.0053 5.10449 9.99121C5.07737 9.97184 5.05041 9.95243 5.02441 9.93164C5.00652 9.91734 4.98902 9.90265 4.97168 9.8877C4.94548 9.86509 4.92039 9.84141 4.89551 9.81738C4.87694 9.79946 4.85862 9.78138 4.84082 9.7627C4.8227 9.74367 4.80441 9.72487 4.78711 9.70508C4.76488 9.67965 4.74348 9.65358 4.72266 9.62695C4.70762 9.60771 4.69298 9.5882 4.67871 9.56836C4.66052 9.54308 4.64289 9.51743 4.62598 9.49121C4.60992 9.4663 4.59494 9.44075 4.58008 9.41504C4.56644 9.39146 4.55265 9.36798 4.54004 9.34375C4.52461 9.31407 4.5109 9.28353 4.49707 9.25293C4.48753 9.23183 4.47751 9.21096 4.46875 9.18945C4.45636 9.15898 4.44534 9.12794 4.43457 9.09668C4.42686 9.07433 4.41897 9.05203 4.41211 9.0293C4.40041 8.99049 4.39098 8.95097 4.38184 8.91113C4.37756 8.89255 4.37187 8.87426 4.36816 8.85547C4.36122 8.82011 4.35742 8.7841 4.35254 8.74805C4.34888 8.72112 4.34427 8.69427 4.3418 8.66699H2.83301ZM5.33301 8.5C5.33301 8.95933 5.70766 9.33398 6.16699 9.33398H9.25391L7.80371 5.22266C7.68638 4.89011 7.37078 4.6671 7.01758 4.66699H5.33301V8.5Z" fill="currentcolor"/>
2123</svg></div></div><div fs-list-field="tag" class="caption-xs-upp in-industry-tag">Material handling</div></div></div><div class="spacer-16 mob-12"></div><h3 data-text-style-2lines="" fs-list-field="name" class="header-h5 mob-h4">Hybridisation and Battery Sizing Study for a Reach stacker</h3></div><div class="spacer-32 mob-24"></div><a data-link-gr="" href="/case-studies/hybridisation-and-battery-sizing-study-for-a-reach-stacker" class="btn-text w-inline-block"><div data-btn-text-gr="" class="control-l">Read case study</div><div class="btn-text__arrow w-embed">
2123<svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2124  <path d="M5 12H18.8593M12 19L19 12L12 5" stroke="url(#paint0_linear_2018_16755)" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
2125  <defs>
2126    <linearGradient id="paint0_linear_2018_16755" x1="19" y1="13.645" x2="5" y2="13.645" gradientUnits="userSpaceOnUse">
2127      <stop stop-color="#02F2AA" />
2128      <stop offset="1" stop-color="#26D2E2" />
2129    </linearGradient>
2130  </defs>
2131</svg></div></a></div></div></div></div></div><div id="w-node-_205d52e0-5d3b-d624-6e64-5f5cdd88082c-3ad15797" class="view-all-cases-btn"><a data-onLight="True" data-wf--button-secondary--variant="base" href="/case-studies" class="btn-secondary w-inline-block"><div class="control-l">View all case studies</div></a></div></div></div></div><div data-tab-panel="epop-pro" role="listitem" class="epop-col-item w-dyn-item"><div class="epop-item"><div class="epop-item__box"><div class="epop-item__box-heading"><div class="epop-item__box-title"><div class="epop-item__box-number"><div class="caption-m">01</div></div><div class="caption-l">Overview</div></div></div><div class="epop-content"><div class="epop-top"><h3 class="header-h3 is-epop-title">Consider the full solution space</h3><div class="epop-top__descr"><p class="body-l text-secondary-onlight">ePOP maps the entire power system end-to-end with modular tools, helping identify the best fit through detailed models and real-time insights.</p></div></div><div class="epop-body"><div id="w-node-_5c612c9d-e633-0d5d-f023-8c3c2f5478d2-3ad15797" class="epop-video-wrap"><div class="epop-video-border"><video src="https://www.dropbox.com/scl/fi/gn9auurcagvhlbork0ta8/ePOP-Desktop-Designing-a-hybrid-powertrain-for-a-C-segment-passenger-vehicle-1-1.mp4?rlkey=bht2zs0gd1u41jvnzf0l3emwb&amp;st=218n4rds&amp;raw=1" playsinline="true" loop="" controls="" data-start-time="587" loading="lazy" preload="metadata" class="epop-video"></video></div></div><div id="w-node-_5c612c9d-e633-0d5d-f023-8c3c2f5478d5-3ad15797" class="epop-right"><div class="epop-rich-text w-richtext"><ul role="list"><li>Power architecture analysis</li><li>Motor and power technology comparison</li><li>Intelligent component sizing</li></ul></div></div><div id="w-node-_5c612c9d-e633-0d5d-f023-8c3c2f547909-3ad15797" class="epop-actions"><a data-wf--button--variant="mob-size-m" href="/book-a-demo" class="btn w-variant-b11c26b3-d5de-4476-b4e0-e9f9e87bdc79 w-inline-block"><div class="control-l">Request a Demo</div></a></div></div></div></div><div data-slider-wrap="" class="epop-item__box"><div class="epop-item__box-heading"><div class="epop-item__box-title"><div class="epop-item__box-number"><div class="caption-m">02</div></div><div class="caption-l">Workflow</div></div><h3 class="header-h3">How it works - key steps</h3></div><div data-workflows-slider="2" class="splide workflows-slider"><div class="splide__track workflows-track w-dyn-list"><div role="list" class="splide__list workflows-list w-dyn-items"><div role="listitem" class="splide__slide workflows-slide w-dyn-item"><div class="workflows-item"><div class="workflows-item__left"><h4 class="header-h4">Setup component library</h4><div class="epop-rich-text w-richtext"><ul role="list"><li>Import or select components: motors, engines, transmissions, inverters, batteries</li><li>Add or generate custom component definitions</li></ul></div></div><div class="workflows-item__right"><div class="quarter-content__img-border"><img src="https://cdn.prod.website-files.com/plugins/Basic/assets/placeholder.60f9b1840c.svg" loading="lazy" alt="Setup component library" class="workflows-item__img w-dyn-bind-empty"/></div></div></div></div><div role="listitem" class="splide__slide workflows-slide w-dyn-item"><div class="workflows-item"><div class="workflows-item__left"><h4 class="header-h4">Requirements analysis</h4><div class="epop-rich-text w-richtext"><ul role="list"><li>Define system-level requirements: torque, speed, vehicle specs</li><li>Input duty cycles, speed profiles, power &amp; packaging constraints</li><li>Include attributes such as emissions, sustainability goals</li></ul></div></div><div class="workflows-item__right"><div class="quarter-content__img-border"><img src="https://cdn.prod.website-files.com/plugins/Basic/assets/placeholder.60f9b1840c.svg" loading="lazy" alt="Requirements analysis" class="workflows-item__img w-dyn-bind-empty"/></div></div></div></div><div role="listitem" class="splide__slide workflows-slide w-dyn-item"><div class="workflows-item"><div class="workflows-item__left"><h4 class="header-h4">Powertrain configuration</h4><div class="epop-rich-text w-richtext"><ul role="list"><li>Select powertrain architecture: BEV, HEV (parallel/series), ICE hybrid</li><li>
2131Choose drivetrain layouts: RWD, AWD, FWD, dual/single motor</li><li>Configure component combinations</li></ul></div></div><div class="workflows-item__right"><div class="quarter-content__img-border"><img src="https://cdn.prod.website-files.com/plugins/Basic/assets/placeholder.60f9b1840c.svg" loading="lazy" alt="Powertrain configuration" class="workflows-item__img w-dyn-bind-empty"/></div></div></div></div><div role="listitem" class="splide__slide workflows-slide w-dyn-item"><div class="workflows-item"><div class="workflows-item__left"><h4 class="header-h4">Design space exploration</h4><div class="epop-rich-text w-richtext"><ul role="list"><li>Generate many candidate configurations</li><li>Vary parameters, combine architectures &amp; components</li><li>Evaluate across metrics and KPIs</li></ul></div></div><div class="workflows-item__right"><div class="quarter-content__img-border"><img src="https://cdn.prod.website-files.com/plugins/Basic/assets/placeholder.60f9b1840c.svg" loading="lazy" alt="Design space exploration" class="workflows-item__img w-dyn-bind-empty"/></div></div></div></div><div role="listitem" class="splide__slide workflows-slide w-dyn-item"><div class="workflows-item"><div class="workflows-item__left"><h4 class="header-h4">Shortlisting &amp; decision</h4><div class="epop-rich-text w-richtext"><ul role="list"><li>Rank and compare configurations</li><li>Identify the optimal design(s) that best meet performance, cost, sustainability</li><li>Select the winner(s) for further development</li></ul></div></div><div class="workflows-item__right"><div class="quarter-content__img-border"><img src="https://cdn.prod.website-files.com/plugins/Basic/assets/placeholder.60f9b1840c.svg" loading="lazy" alt="Shortlisting &amp; decision" class="workflows-item__img w-dyn-bind-empty"/></div></div></div></div></div></div><div class="slider-nav"><div class="splide__pagination slider-pagination"></div><button data-slider-btn-prev="" type="button" aria-label="prev" class="btn-min on-light"><div class="icon-22 w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 22 22" fill="none">
2132  <path d="M17 11H5.12061M11 17L5 11L11 5" stroke="currentcolor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2133</svg></div></button><button data-slider-btn-next="" type="button" aria-label="next" class="btn-min on-light"><div class="icon-22 w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 22 22" fill="none">
2134  <path d="M5 11H16.8794M11 17L17 11L11 5" stroke="currentcolor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2135</svg></div></button></div></div></div><div class="epop-item__box"><div class="epop-item__box-heading"><div class="epop-item__box-title"><div class="epop-item__box-number"><div class="caption-m">03</div></div><div class="caption-l">Key capabilities</div></div><h3 class="header-h3">Behind the solution - main functions</h3></div><div class="epop-item__cards"><div data-fadeIn="" class="s-card-v2"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/69235721a49bacc9bb384361_layout-top.svg" loading="lazy" width="60" height="60" alt="" class="icon-60"/><p class="caption-l">Component generation library</p></div><div data-fadeIn="" class="s-card-v2"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/6923571d05f83c411c6e2de2_bar-chart-circle.svg" loading="lazy" width="60" height="60" alt="" class="icon-60"/><p class="caption-l">System-level loss &amp; efficiency modelling</p></div><div data-fadeIn="" class="s-card-v2"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/69235741c89775bca25706fb_sliders.svg" loading="lazy" width="60" height="60" alt="" class="icon-60"/><p class="caption-l">Trade-off exploration</p></div><div data-fadeIn="" class="s-card-v2"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/69235744663e77e15e169c90_compass.svg" loading="lazy" width="60" height="60" alt="" class="icon-60"/><p class="caption-l">Custom powertrain configuration</p></div></div></div><div class="epop-item__box is-cases"><div class="epop-item__box-heading"><div class="epop-item__box-title"><div class="epop-item__box-number"><div class="caption-m">04</div></div><div class="caption-l">Case studies</div></div><h3 class="header-h3">Practical examples and proven results</h3></div><div id="w-node-_6e436e62-0f6e-ddaa-5a4c-d7abbb8dafb2-3ad15797" class="cases-col-wrap w-dyn-list"><div role="list" class="cases-col-list w-dyn-items"><div role="listitem" class="cases-col-item w-dyn-item"><div class="case-item"><div class="case-item__img-wrap"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/691fe9a45470bd6d1697ade4_Serial%20Hybrid%20for%20a%20Tracked%20Vehicle%20M.svg" loading="lazy" alt="" class="case-item__img"/>
2135</div><div class="case-item__info"><div><div class="tags"><div class="tag is-product-tag w-condition-invisible"><div class="caption-xs-upp w-dyn-bind-empty"></div></div><div style="color:#b973ff;background-color:rgba(185, 115, 255, 0.1)" class="tag"><div class="case-item__icon w-richtext"><div class="w-embed"><svg width="100%" height="100%" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
2136<path d="M13.2715 4C13.6027 4 13.9125 4.16449 14.0986 4.43848L16.8271 8.45703C16.9959 8.70552 17.0438 9.01687 16.958 9.30469L16.1289 12.0859C16.0025 12.5095 15.6128 12.7996 15.1709 12.7998H15.0527C15.0527 14.0127 14.154 14.9999 13.0498 15C11.9456 15 11.0469 14.0127 11.0469 12.7998H10.0459C10.0459 14.0127 9.14721 15 8.04297 15C6.93904 14.9998 6.04102 14.0126 6.04102 12.7998H5.04004C5.04004 14.0127 4.14122 15 3.03711 15C1.93289 15 1.03418 14.0127 1.03418 12.7998H1C0.447715 12.7998 0 12.3521 0 11.7998V5C0.000176614 4.44787 0.447824 4 1 4H13.2715ZM3.03711 11.7002C2.48511 11.7002 2.03618 12.1933 2.03613 12.7998C2.03613 13.4063 2.48508 13.8994 3.03711 13.8994C3.58917 13.8994 4.03809 13.4063 4.03809 12.7998C4.03804 12.1932 3.58914 11.7002 3.03711 11.7002ZM8.04297 11.7002C7.49112 11.7004 7.04204 12.1934 7.04199 12.7998C7.04199 13.4061 7.49109 13.8992 8.04297 13.8994C8.59516 13.8994 9.04492 13.4063 9.04492 12.7998C9.04487 12.1932 8.59513 11.7002 8.04297 11.7002ZM13.0498 11.7002C12.4978 11.7002 12.0489 12.1932 12.0488 12.7998C12.0488 13.4063 12.4977 13.8994 13.0498 13.8994C13.6018 13.8994 14.0508 13.4062 14.0508 12.7998C14.0507 12.1933 13.6018 11.7003 13.0498 11.7002ZM1.30078 9.5C1.13539 9.50023 1.00113 9.63439 1.00098 9.7998V11.3994C1.00098 11.565 1.13817 11.7 1.30371 11.7002C1.65048 11.0433 2.29753 10.5996 3.03711 10.5996C3.77671 10.5996 4.42373 11.0433 4.77051 11.7002H6.31055C6.65726 11.0434 7.30367 10.5998 8.04297 10.5996C8.78257 10.5996 9.42959 11.0433 9.77637 11.7002H11.3164C11.6632 11.0433 12.3102 10.5996 13.0498 10.5996C13.7894 10.5997 14.4364 11.0433 14.7832 11.7002H14.9668C15.0993 11.7001 15.216 11.6124 15.2539 11.4854L15.7314 9.88574C15.7887 9.69353 15.6448 9.50027 15.4443 9.5H1.30078ZM1.30078 5.10059C1.1353 5.10082 1.00098 5.23485 1.00098 5.40039V8.09961C1.00098 8.26515 1.13529 8.40016 1.30078 8.40039H14.9736C15.2141 8.40008 15.3566 8.13069 15.2217 7.93164L13.3887 5.23145C13.3329 5.14935 13.2399 5.10071 13.1406 5.10059H1.30078ZM3.99023 6.2002C4.29416 6.2002 4.54102 6.44705 4.54102 6.75098C4.54076 7.05468 4.294 7.30078 3.99023 7.30078H3.08691C2.78315 7.30078 2.53639 7.05468 2.53613 6.75098C2.53613 6.44705 2.78299 6.2002 3.08691 6.2002H3.99023ZM7.99609 6.2002C8.29997 6.20025 8.5459 6.44709 8.5459 6.75098C8.54564 7.05464 8.29981 7.30072 7.99609 7.30078H7.0918C6.78811 7.30069 6.54225 7.05462 6.54199 6.75098C6.54199 6.44711 6.78795 6.20028 7.0918 6.2002H7.99609ZM12.001 6.2002C12.3049 6.20024 12.5508 6.44708 12.5508 6.75098C12.5505 7.05465 12.3047 7.30074 12.001 7.30078H11.0967C10.7931 7.30061 10.5471 7.05457 10.5469 6.75098C10.5469 6.44716 10.7929 6.20037 11.0967 6.2002H12.001Z" fill="currentcolor"/>
2137</svg></div></div><div fs-list-field="tag" class="caption-xs-upp in-industry-tag">Defense</div></div></div><div class="spacer-16 mob-12"></div><h3 data-text-style-2lines="" fs-list-field="name" class="header-h5 mob-h4">Serial Hybrid for a Tracked Vehicle</h3></div><div class="spacer-32 mob-24"></div><a data-link-gr="" href="/case-studies/serial-hybrid-for-a-tracked-vehicle" class="btn-text w-inline-block"><div data-btn-text-gr="" class="control-l">Read case study</div><div class="btn-text__arrow w-embed"><svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2138  <path d="M5 12H18.8593M12 19L19 12L12 5" stroke="url(#paint0_linear_2018_16755)" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
2139  <defs>
2140    <linearGradient id="paint0_linear_2018_16755" x1="19" y1="13.645" x2="5" y2="13.645" gradientUnits="userSpaceOnUse">
2141      <stop stop-color="#02F2AA" />
2142      <stop offset="1" stop-color="#26D2E2" />
2143    </linearGradient>
2144  </defs>
2145</svg></div></a></div></div></div><div role="listitem" class="cases-col-item w-dyn-item"><div class="case-item"><div class="case-item__img-wrap"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/691fe9a45470bd6d1697addb_Hybrid%20Scenarios%20for%208%C3%978%20Vehicle%20M.svg" loading="lazy" alt="" class="case-item__img"/>
2145</div><div class="case-item__info"><div><div class="tags"><div class="tag is-product-tag w-condition-invisible"><div class="caption-xs-upp w-dyn-bind-empty"></div></div><div style="color:#b973ff;background-color:rgba(185, 115, 255, 0.1)" class="tag"><div class="case-item__icon w-richtext"><div class="w-embed"><svg width="100%" height="100%" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
2146<path d="M13.2715 4C13.6027 4 13.9125 4.16449 14.0986 4.43848L16.8271 8.45703C16.9959 8.70552 17.0438 9.01687 16.958 9.30469L16.1289 12.0859C16.0025 12.5095 15.6128 12.7996 15.1709 12.7998H15.0527C15.0527 14.0127 14.154 14.9999 13.0498 15C11.9456 15 11.0469 14.0127 11.0469 12.7998H10.0459C10.0459 14.0127 9.14721 15 8.04297 15C6.93904 14.9998 6.04102 14.0126 6.04102 12.7998H5.04004C5.04004 14.0127 4.14122 15 3.03711 15C1.93289 15 1.03418 14.0127 1.03418 12.7998H1C0.447715 12.7998 0 12.3521 0 11.7998V5C0.000176614 4.44787 0.447824 4 1 4H13.2715ZM3.03711 11.7002C2.48511 11.7002 2.03618 12.1933 2.03613 12.7998C2.03613 13.4063 2.48508 13.8994 3.03711 13.8994C3.58917 13.8994 4.03809 13.4063 4.03809 12.7998C4.03804 12.1932 3.58914 11.7002 3.03711 11.7002ZM8.04297 11.7002C7.49112 11.7004 7.04204 12.1934 7.04199 12.7998C7.04199 13.4061 7.49109 13.8992 8.04297 13.8994C8.59516 13.8994 9.04492 13.4063 9.04492 12.7998C9.04487 12.1932 8.59513 11.7002 8.04297 11.7002ZM13.0498 11.7002C12.4978 11.7002 12.0489 12.1932 12.0488 12.7998C12.0488 13.4063 12.4977 13.8994 13.0498 13.8994C13.6018 13.8994 14.0508 13.4062 14.0508 12.7998C14.0507 12.1933 13.6018 11.7003 13.0498 11.7002ZM1.30078 9.5C1.13539 9.50023 1.00113 9.63439 1.00098 9.7998V11.3994C1.00098 11.565 1.13817 11.7 1.30371 11.7002C1.65048 11.0433 2.29753 10.5996 3.03711 10.5996C3.77671 10.5996 4.42373 11.0433 4.77051 11.7002H6.31055C6.65726 11.0434 7.30367 10.5998 8.04297 10.5996C8.78257 10.5996 9.42959 11.0433 9.77637 11.7002H11.3164C11.6632 11.0433 12.3102 10.5996 13.0498 10.5996C13.7894 10.5997 14.4364 11.0433 14.7832 11.7002H14.9668C15.0993 11.7001 15.216 11.6124 15.2539 11.4854L15.7314 9.88574C15.7887 9.69353 15.6448 9.50027 15.4443 9.5H1.30078ZM1.30078 5.10059C1.1353 5.10082 1.00098 5.23485 1.00098 5.40039V8.09961C1.00098 8.26515 1.13529 8.40016 1.30078 8.40039H14.9736C15.2141 8.40008 15.3566 8.13069 15.2217 7.93164L13.3887 5.23145C13.3329 5.14935 13.2399 5.10071 13.1406 5.10059H1.30078ZM3.99023 6.2002C4.29416 6.2002 4.54102 6.44705 4.54102 6.75098C4.54076 7.05468 4.294 7.30078 3.99023 7.30078H3.08691C2.78315 7.30078 2.53639 7.05468 2.53613 6.75098C2.53613 6.44705 2.78299 6.2002 3.08691 6.2002H3.99023ZM7.99609 6.2002C8.29997 6.20025 8.5459 6.44709 8.5459 6.75098C8.54564 7.05464 8.29981 7.30072 7.99609 7.30078H7.0918C6.78811 7.30069 6.54225 7.05462 6.54199 6.75098C6.54199 6.44711 6.78795 6.20028 7.0918 6.2002H7.99609ZM12.001 6.2002C12.3049 6.20024 12.5508 6.44708 12.5508 6.75098C12.5505 7.05465 12.3047 7.30074 12.001 7.30078H11.0967C10.7931 7.30061 10.5471 7.05457 10.5469 6.75098C10.5469 6.44716 10.7929 6.20037 11.0967 6.2002H12.001Z" fill="currentcolor"/>
2147</svg></div></div><div fs-list-field="tag" class="caption-xs-upp in-industry-tag">Defense</div></div></div><div class="spacer-16 mob-12"></div><h3 data-text-style-2lines="" fs-list-field="name" class="header-h5 mob-h4">ICE / BEV / Hybrid Scenarios for 8×8 Vehicle</h3></div><div class="spacer-32 mob-24"></div><a data-link-gr="" href="/case-studies/ice-bev-hybrid-scenarios-for-8x8-vehicle" class="btn-text w-inline-block"><div data-btn-text-gr="" class="control-l">Read case study</div><div class="btn-text__arrow w-embed"><svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2148  <path d="M5 12H18.8593M12 19L19 12L12 5" stroke="url(#paint0_linear_2018_16755)" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
2149  <defs>
2150    <linearGradient id="paint0_linear_2018_16755" x1="19" y1="13.645" x2="5" y2="13.645" gradientUnits="userSpaceOnUse">
2151      <stop stop-color="#02F2AA" />
2152      <stop offset="1" stop-color="#26D2E2" />
2153    </linearGradient>
2154  </defs>
2155</svg></div></a></div></div></div></div></div><div id="w-node-_205d52e0-5d3b-d624-6e64-5f5cdd88082c-3ad15797" class="view-all-cases-btn"><a data-onLight="True" data-wf--button-secondary--variant="base" href="/case-studies" class="btn-secondary w-inline-block"><div class="control-l">View all case studies</div></a></div></div></div></div><div data-tab-panel="benchmarking" role="listitem" class="epop-col-item w-dyn-item"><div class="epop-item"><div class="epop-item__box"><div class="epop-item__box-heading"><div class="epop-item__box-title"><div class="epop-item__box-number"><div class="caption-m">01</div></div><div class="caption-l">Overview</div></div></div><div class="epop-content"><div class="epop-top"><h3 class="header-h3 is-epop-title">Deliver decision-ready insights for every stakeholder</h3><div class="epop-top__descr"><p class="body-l text-secondary-onlight">Turn complex simulations into clear visuals with ePOP. Results align with KPIs and connect design team
2155s with decision-makers.</p></div></div><div class="epop-body"><div id="w-node-_5c612c9d-e633-0d5d-f023-8c3c2f5478d2-3ad15797" class="epop-video-wrap"><div class="epop-video-border"><video src="https://www.dropbox.com/scl/fi/5aizivzg45fzsx0rvl4p5/EDU-Benchmarking-A2MAC1-min.mp4?rlkey=mjbm422jdoxqxo2eg6qvy1a16&amp;raw=1" playsinline="true" loop="" controls="" data-start-time="90" loading="lazy" preload="metadata" class="epop-video"></video></div></div><div id="w-node-_5c612c9d-e633-0d5d-f023-8c3c2f5478d5-3ad15797" class="epop-right"><div class="epop-rich-text w-richtext"><ul role="list"><li>Visual clarity across outputs</li><li>KPI-aligned results</li><li>Shared understanding for all teams</li></ul></div></div><div id="w-node-_5c612c9d-e633-0d5d-f023-8c3c2f547909-3ad15797" class="epop-actions"><a data-wf--button--variant="mob-size-m" href="/book-a-demo" class="btn w-variant-b11c26b3-d5de-4476-b4e0-e9f9e87bdc79 w-inline-block"><div class="control-l">Request a Demo</div></a></div></div></div></div><div data-slider-wrap="" class="epop-item__box"><div class="epop-item__box-heading"><div class="epop-item__box-title"><div class="epop-item__box-number"><div class="caption-m">02</div></div><div class="caption-l">Workflow</div></div><h3 class="header-h3">How it works - key steps</h3></div><div data-workflows-slider="3" class="splide workflows-slider"><div class="splide__track workflows-track w-dyn-list"><div role="list" class="splide__list workflows-list w-dyn-items"><div role="listitem" class="splide__slide workflows-slide w-dyn-item"><div class="workflows-item"><div class="workflows-item__left"><h4 class="header-h4">Access powertrain &amp; component database</h4><div class="epop-rich-text w-richtext"><ul role="list"><li>Leverage the xEV component library: motors, inverters, transmissions, batteries &amp; EDUs drawn from ~150+ vehicles</li><li>Upload your own component data if needed</li></ul></div></div><div class="workflows-item__right"><div class="quarter-content__img-border"><img src="https://cdn.prod.website-files.com/plugins/Basic/assets/placeholder.60f9b1840c.svg" loading="lazy" alt="Access powertrain &amp; component database" class="workflows-item__img w-dyn-bind-empty"/></div></div></div></div><div role="listitem" class="splide__slide workflows-slide w-dyn-item"><div class="workflows-item"><div class="workflows-item__left"><h4 class="header-h4">Simulate &amp; benchmark virtually</h4><div class="epop-rich-text w-richtext"><ul role="list"><li>Use the ZeBeyond simulation engine to model performance &amp; efficiency of powertrain(s) in a virtual environment</li><li>Compare your design against competitor data side-by-side</li></ul></div></div><div class="workflows-item__right"><div class="quarter-content__img-border"><img src="https://cdn.prod.website-files.com/plugins/Basic/assets/placeholder.60f9b1840c.svg" loading="lazy" alt="Simulate &amp; benchmark virtually" class="workflows-item__img w-dyn-bind-empty"/></div></div></div></div><div role="listitem" class="splide__slide workflows-slide w-dyn-item"><div class="workflows-item"><div class="workflows-item__left"><h4 class="header-h4">Explore &amp; analyze insights</h4><div class="epop-rich-text w-richtext"><ul role="list"><li>Visualize metrics: cost, CO₂, efficiency, power density, torque density, etc.</li><li>Drill into component and system KPIs to see where improvements are possible</li></ul></div></div><div class="workflows-item__right"><div class="quarter-content__img-border"><img src="https://cdn.prod.website-files.com/plugins/Basic/assets/placeholder.60f9b1840c.svg" loading="lazy" alt="Explore &amp; analyze insights" class="workflows-item__img w-dyn-bind-empty"/></div></div></div></div><div role="listitem" class="splide__slide workflows-slide w-dyn-item"><div class="workflows-item"><div class="workflows-item__left"><h4 class="header-h4">Make data-driven decisions &amp; export specs</h4><div class="epop-rich-text w-richtext"><ul role="list"><li>Identify gaps vs competition and optimize your architecture</li><li>Generate spec outputs or configurations ready for implementation</li></ul></div></div><div class="workflows-item__right"><div class="quarter-content__img-border"><img src="https://cdn.prod.website-files.com/plugins/Basic/assets/placeholder.60f9b1840c.svg" loading="lazy" alt="Make data-driven decisions &amp; export specs" class="workflows-item__img w-dyn-bind-empty"/></div></div></div></div></div></div><div class="slider-nav"><div class="splide__pagination slider-pagination"></div>
2155<button data-slider-btn-prev="" type="button" aria-label="prev" class="btn-min on-light"><div class="icon-22 w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 22 22" fill="none">
2156  <path d="M17 11H5.12061M11 17L5 11L11 5" stroke="currentcolor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2157</svg></div></button><button data-slider-btn-next="" type="button" aria-label="next" class="btn-min on-light"><div class="icon-22 w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 22 22" fill="none">
2158  <path d="M5 11H16.8794M11 17L17 11L11 5" stroke="currentcolor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2159</svg></div></button></div></div></div><div class="epop-item__box"><div class="epop-item__box-heading"><div class="epop-item__box-title"><div class="epop-item__box-number"><div class="caption-m">03</div></div><div class="caption-l">Key capabilities</div></div><h3 class="header-h3">Behind the solution - main functions</h3></div><div class="epop-item__cards"><div data-fadeIn="" class="s-card-v2"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/69235721a49bacc9bb384361_layout-top.svg" loading="lazy" width="60" height="60" alt="" class="icon-60"/><p class="caption-l">Comprehensive xEV component library</p></div><div data-fadeIn="" class="s-card-v2"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692357642c1d044b68283472_line%20chart.svg" loading="lazy" width="60" height="60" alt="" class="icon-60"/><p class="caption-l">Virtual competitive benchmarking</p></div><div data-fadeIn="" class="s-card-v2"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/69235768f7c23d3a16444421_radar.svg" loading="lazy" width="60" height="60" alt="" class="icon-60"/><p class="caption-l">Contextualized insights &amp; metrics</p></div><div data-fadeIn="" class="s-card-v2"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/6923576d79ff39feeb1eee0e_shield.svg" loading="lazy" width="60" height="60" alt="" class="icon-60"/><p class="caption-l">Data-centric collaboration &amp; access control</p></div></div></div><div class="epop-item__box is-cases"><div class="epop-item__box-heading"><div class="epop-item__box-title"><div class="epop-item__box-number"><div class="caption-m">04</div></div><div class="caption-l">Case studies</div></div><h3 class="header-h3">Practical examples and proven results</h3></div><div id="w-node-_6e436e62-0f6e-ddaa-5a4c-d7abbb8dafb2-3ad15797" class="cases-col-wrap w-dyn-list"><div role="list" class="cases-col-list w-dyn-items"><div role="listitem" class="cases-col-item w-dyn-item"><div class="case-item"><div class="case-item__img-wrap"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/691fe9a45470bd6d1697ade5_General%20Service%204x4%20vehicles%20M.svg" loading="lazy" alt="" class="case-item__img"/></div><div class="case-item__info"><div><div class="tags"><div class="tag is-product-tag w-condition-invisible"><div class="caption-xs-upp w-dyn-bind-empty"></div></div><div style="color:#b973ff;background-color:rgba(185, 115, 255, 0.1)" class="tag"><div class="case-item__icon w-richtext"><div class="w-embed"><svg width="100%" height="100%" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
2160<path d="M13.2715 4C13.6027 4 13.9125 4.16449 14.0986 4.43848L16.8271 8.45703C16.9959 8.70552 17.0438 9.01687 16.958 9.30469L16.1289 12.0859C16.0025 12.5095 15.6128 12.7996 15.1709 12.7998H15.0527C15.0527 14.0127 14.154 14.9999 13.0498 15C11.9456 15 11.0469 14.0127 11.0469 12.7998H10.0459C10.0459 14.0127 9.14721 15 8.04297 15C6.93904 14.9998 6.04102 14.0126 6.04102 12.7998H5.04004C5.04004 14.0127 4.14122 15 3.03711 15C1.93289 15 1.03418 14.0127 1.03418 12.7998H1C0.447715 12.7998 0 12.3521 0 11.7998V5C0.000176614 4.44787 0.447824 4 1 4H13.2715ZM3.03711 11.7002C2.48511 11.7002 2.03618 12.1933 2.03613 12.7998C2.03613 13.4063 2.48508 13.8994 3.03711 13.8994C3.58917 13.8994 4.03809 13.4063 4.03809 12.7998C4.03804 12.1932 3.58914 11.7002 3.03711 11.7002ZM8.04297 11.7002C7.49112 11.7004 7.04204 12.1934 7.04199 12.7998C7.04199 13.4061 7.49109 13.8992 8.04297 13.8994C8.59516 13.8994 9.04492 13.4063 9.04492 12.7998C9.04487 12.1932 8.59513 11.7002 8.04297 11.7002ZM13.0498 11.7002C12.4978 11.7002 12.0489 12.1932 12.0488 12.7998C12.0488 13.4063 12.4977 13.8994 13.0498 13.8994C13.6018 13.8994 14.0508 13.4062 14.0508 12.7998C14.0507 12.1933 13.6018 11.7003 13.0498 11.7002ZM1.30078 9.5C1.13539 9.50023 1.00113 9.63439 1.00098 9.7998V11.3994C1.00098 11.565 1.13817 11.7 1.30371 11.7002C1.65048 11.0433 2.29753 10.5996 3.03711 10.5996C3.77671 10.5996 4.42373 11.0433 4.77051 11.7002H6.31055C6.65726 11.0434 7.30367 10.5998 8.04297 10.5996C8.78257 10.5996 9.42959 11.0433 9.77637 11.7002H11.3164C11.6632 11.0433 12.3102 10.5996 13.0498 10.5996C13.7894 10.5997 14.4364 11.0433 14.7832 11.7002H14.9668C15.0993 11.7001 15.216 11.6124 15.2539 11.4854L15.7314 9.88574C15.7887 9.69353 15.6448 9.50027 15.4443 9.5H1.300
216078ZM1.30078 5.10059C1.1353 5.10082 1.00098 5.23485 1.00098 5.40039V8.09961C1.00098 8.26515 1.13529 8.40016 1.30078 8.40039H14.9736C15.2141 8.40008 15.3566 8.13069 15.2217 7.93164L13.3887 5.23145C13.3329 5.14935 13.2399 5.10071 13.1406 5.10059H1.30078ZM3.99023 6.2002C4.29416 6.2002 4.54102 6.44705 4.54102 6.75098C4.54076 7.05468 4.294 7.30078 3.99023 7.30078H3.08691C2.78315 7.30078 2.53639 7.05468 2.53613 6.75098C2.53613 6.44705 2.78299 6.2002 3.08691 6.2002H3.99023ZM7.99609 6.2002C8.29997 6.20025 8.5459 6.44709 8.5459 6.75098C8.54564 7.05464 8.29981 7.30072 7.99609 7.30078H7.0918C6.78811 7.30069 6.54225 7.05462 6.54199 6.75098C6.54199 6.44711 6.78795 6.20028 7.0918 6.2002H7.99609ZM12.001 6.2002C12.3049 6.20024 12.5508 6.44708 12.5508 6.75098C12.5505 7.05465 12.3047 7.30074 12.001 7.30078H11.0967C10.7931 7.30061 10.5471 7.05457 10.5469 6.75098C10.5469 6.44716 10.7929 6.20037 11.0967 6.2002H12.001Z" fill="currentcolor"/>
2161</svg></div></div><div fs-list-field="tag" class="caption-xs-upp in-industry-tag">Defense</div></div></div><div class="spacer-16 mob-12"></div><h3 data-text-style-2lines="" fs-list-field="name" class="header-h5 mob-h4">Assessing Hybridisation Pathways for Legacy Fleet of General Service 4x4 vehicles</h3></div><div class="spacer-32 mob-24"></div><a data-link-gr="" href="/case-studies/assessing-hybridisation-pathways-for-legacy-fleet-of-general-service-4x4-vehicles" class="btn-text w-inline-block"><div data-btn-text-gr="" class="control-l">Read case study</div><div class="btn-text__arrow w-embed"><svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2162  <path d="M5 12H18.8593M12 19L19 12L12 5" stroke="url(#paint0_linear_2018_16755)" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
2163  <defs>
2164    <linearGradient id="paint0_linear_2018_16755" x1="19" y1="13.645" x2="5" y2="13.645" gradientUnits="userSpaceOnUse">
2165      <stop stop-color="#02F2AA" />
2166      <stop offset="1" stop-color="#26D2E2" />
2167    </linearGradient>
2168  </defs>
2169</svg></div></a></div></div></div></div></div><div id="w-node-_205d52e0-5d3b-d624-6e64-5f5cdd88082c-3ad15797" class="view-all-cases-btn"><a data-onLight="True" data-wf--button-secondary--variant="base" href="/case-studies" class="btn-secondary w-inline-block"><div class="control-l">View all case studies</div></a></div></div></div></div></div></div></div></div></div></section><section data-tabs-container="" class="plans"><div class="page-padding"><div class="container"><div class="plans-upper"><div class="heading plans__heading"><div class="caption"><div class="icon-22 w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 22 22" fill="none">
2170  <path d="M8.11143 19C7.47639 19 7.15887 19 6.87568 18.9102C6.62515 18.8308 6.39518 18.7011 6.20115 18.5295C5.98183 18.3357 5.82763 18.0694 5.51923 17.5369L2.53326 12.3814C2.24124 11.8772 2.09524 11.6251 2.038 11.3581C1.98733 11.1219 1.98733 10.8781 2.038 10.6419C2.09524 10.3749 2.24124 10.1228 2.53326 9.61862L5.51923 4.46306C5.82763 3.93057 5.98183 3.66433 6.20115 3.47046C6.39518 3.29895 6.62515 3.16915 6.87568 3.08975C7.15887 3 7.47639 3 8.11143 3L13.8886 3C14.5236 3 14.8411 3 15.1243 3.08975C15.3748 3.16915 15.6048 3.29895 15.7988 3.47046C16.0182 3.66433 16.1724 3.93057 16.4808 4.46306L19.4667 9.61861C19.7588 10.1228 19.9048 10.3749 19.962 10.6419C20.0127 10.8781 20.0127 11.1219 19.962 11.3581C19.9048 11.6251 19.7588 11.8772 19.4667 12.3814L16.4808 17.5369C16.1724 18.0694 16.0182 18.3357 15.7988 18.5295C15.6048 18.7011 15.3748 18.8308 15.1243 18.9102C14.8411 19 14.5236 19 13.8886 19H8.11143Z" stroke="currentcolor" stroke-opacity="0.6" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2171</svg></div><p class="caption-l">Plans</p></div><div class="spacer-16 mob-10"></div><h2 class="header-h2">Choose the <span data-title-anim-gr="">right plan</span>
for your setup</h2></div><div class="plans-tabs-menu"><button type="button" data-tab-btn="year" class="tab-link plans-tabs-link is-year"><div class="caption-l">Yearly</div><div class="plans-tabs-link__caption"><div class="caption-xs-upp">Save up to 25%</div></div></button><button type="button" data-tab-btn="month" class="tab-link plans-tabs-link"><div class="caption-l">Monthly</div></button></div></div><div class="spacer-60 mob-40"></div><div class="plans-tabs-panels">
2171<div data-slider-wrap="" data-tab-panel="year" class="plans-tabs-panel"><div id="plans-slider-1" class="splide plans-slider"><div class="splide__track plans-track w-dyn-list"><div role="list" class="splide__list plans-list w-dyn-items"><div role="listitem" class="splide__slide plans-slide w-dyn-item"><div class="plans-card__popular w-condition-invisible"><div class="caption-xs-upp">Most Popular</div></div><div class="plans-card"><div class="plans-card__upper"><div class="plans-card__upper-heading"><h3 class="header-h4">Concept</h3><p class="body-m text-secondary-onlight">Tool for early-stage exploration of electric, hybrid, and ICE architectures.</p></div><div class="plans-card__upper-price"><div class="header-h2">€600</div><p class="body-s text-secondary-onlight">user / month (billed yearly)</p></div></div><div class="plans-card__lower"><div class="plans-card__lower-btn"><a data-wf--button--variant="mob-size-m" href="https://account.epop.tech/Account/Login" class="btn w-variant-b11c26b3-d5de-4476-b4e0-e9f9e87bdc79 w-inline-block"><div class="control-l">Try demo</div></a></div><div class="plans-card__lower-btn w-condition-invisible"><a data-onLight="True" data-wf--button-secondary--variant="mob-size-m" href="/book-a-demo" class="btn-secondary w-variant-b4989365-c8a2-09b4-5c11-6f978c9c2015 w-inline-block"><div class="control-l">Try demo</div></a></div><div class="plans-card__lower-list"><div class="header-h5">What&#x27;s included</div><div class="case-rich-text in-plans-card w-richtext"><ul role="list"><li>Rapid comparison of electrified and ICE architectures</li><li>Exploration of power, energy, and delivery strategies</li><li>Fast insights to guide concept selection and business-case decisions</li></ul></div></div></div></div></div><div role="listitem" class="splide__slide plans-slide w-dyn-item"><div class="plans-card__popular"><div class="caption-xs-upp">Most Popular</div></div><div class="plans-card"><div class="plans-card__upper"><div class="plans-card__upper-heading"><h3 class="header-h4">Pro</h3><p class="body-m text-secondary-onlight">Advanced tool for detailed speed-torque analysis and architecture optimisation.</p></div><div class="plans-card__upper-price"><div class="header-h2">On request</div><p class="body-s text-secondary-onlight">Pricing available upon inquiry</p></div></div><div class="plans-card__lower"><div class="plans-card__lower-btn w-condition-invisible"><a data-wf--button--variant="mob-size-m" href="https://account.epop.tech/Account/Login" class="btn w-variant-b11c26b3-d5de-4476-b4e0-e9f9e87bdc79 w-inline-block"><div class="control-l">Book a demo</div></a></div><div class="plans-card__lower-btn"><a data-onLight="True" data-wf--button-secondary--variant="mob-size-m" href="/book-a-demo" class="btn-secondary w-variant-b4989365-c8a2-09b4-5c11-6f978c9c2015 w-inline-block"><div class="control-l">Book a demo</div></a></div><div class="plans-card__lower-list"><div class="header-h5">Everything in Concept, plus</div><div class="case-rich-text in-plans-card w-richtext"><ul role="list"><li>Detailed speed–torque modelling across operating conditions</li><li>Configurable component combinations with efficiency optimisation</li><li>System-to-component loss iteration to achieve &gt;90% system efficiency</li></ul></div></div></div></div></div><div role="listitem" class="splide__slide plans-slide w-dyn-item"><div class="plans-card__popular w-condition-invisible"><div class="caption-xs-upp">Most Popular</div></div><div class="plans-card"><div class="plans-card__upper"><div class="plans-card__upper-heading"><h3 class="header-h4">Data library</h3><p class="body-m text-secondary-onlight">Comprehensive database of vehicles and components for engineering validation.</p></div><div class="plans-card__upper-price"><div class="header-h2">On request</div><p class="body-s text-secondary-onlight">Pricing available upon inquiry</p></div></div><div class="plans-card__lower"><div class="plans-card__lower-btn w-condition-invisible"><a data-wf--button--variant="mob-size-m" href="https://account.epop.tech/Account/Login" class="btn w-variant-b
217111c26b3-d5de-4476-b4e0-e9f9e87bdc79 w-inline-block"><div class="control-l">Book a demo</div></a></div><div class="plans-card__lower-btn"><a data-onLight="True" data-wf--button-secondary--variant="mob-size-m" href="/book-a-demo" class="btn-secondary w-variant-b4989365-c8a2-09b4-5c11-6f978c9c2015 w-inline-block"><div class="control-l">Book a demo</div></a></div><div class="plans-card__lower-list"><div class="header-h5">Everything in Pro, plus</div><div class="case-rich-text in-plans-card w-richtext"><ul role="list"><li>Real-world vehicle performance and energy-density datasets</li><li>Verified component loss maps and CAD models</li><li>Accurate reference points to anchor simulations and supplier selections</li></ul></div></div></div></div></div></div></div><div class="plans-slider__btns"><div class="splide__pagination slider-pagination"></div><button data-slider-btn-prev="" type="button" aria-label="prev" class="btn-min"><div class="icon-22 w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 22 22" fill="none">
2172  <path d="M17 11H5.12061M11 17L5 11L11 5" stroke="currentcolor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2173</svg></div></button><button data-slider-btn-next="" type="button" aria-label="next" class="btn-min"><div class="icon-22 w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 22 22" fill="none">
2174  <path d="M5 11H16.8794M11 17L17 11L11 5" stroke="currentcolor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2175</svg></div></button></div></div></div><div data-slider-wrap="" data-tab-panel="month" class="plans-tabs-panel"><div id="plans-slider-2" class="splide plans-slider"><div class="splide__track plans-track w-dyn-list"><div role="list" class="splide__list plans-list w-dyn-items"><div role="listitem" class="splide__slide plans-slide w-dyn-item"><div class="plans-card__popular w-condition-invisible"><div class="caption-xs-upp">Most Popular</div></div><div class="plans-card"><div class="plans-card__upper"><div class="plans-card__upper-heading"><h3 class="header-h4">Concept</h3><p class="body-m text-secondary-onlight">Tool for early-stage exploration of electric, hybrid, and ICE architectures.</p></div><div class="plans-card__upper-price"><div class="header-h2">€800</div><p class="body-s text-secondary-onlight">user / month (billed yearly)</p></div></div><div class="plans-card__lower"><div class="plans-card__lower-btn"><a data-wf--button--variant="mob-size-m" href="https://account.epop.tech/Account/Login" class="btn w-variant-b11c26b3-d5de-4476-b4e0-e9f9e87bdc79 w-inline-block"><div class="control-l">Try demo</div></a></div><div class="plans-card__lower-btn w-condition-invisible"><a data-onLight="True" data-wf--button-secondary--variant="mob-size-m" href="/book-a-demo" class="btn-secondary w-variant-b4989365-c8a2-09b4-5c11-6f978c9c2015 w-inline-block"><div class="control-l">Try demo</div></a></div><div class="plans-card__lower-list"><div class="header-h5">What&#x27;s included</div><div class="case-rich-text in-plans-card w-richtext"><ul role="list"><li>Rapid comparison of electrified and ICE architectures</li><li>Exploration of power, energy, and delivery strategies</li><li>Fast insights to guide concept selection and business-case decisions</li></ul></div></div></div></div></div><div role="listitem" class="splide__slide plans-slide w-dyn-item"><div class="plans-card__popular"><div class="caption-xs-upp">Most Popular</div></div><div class="plans-card"><div class="plans-card__upper"><div class="plans-card__upper-heading"><h3 class="header-h4">Pro</h3><p class="body-m text-secondary-onlight">Advanced tool for detailed speed-torque analysis and architecture optimisation.</p></div><div class="plans-card__upper-price"><div class="header-h2">On request</div><p class="body-s text-secondary-onlight">Pricing available upon inquiry</p></div></div><div class="plans-card__lower"><div class="plans-card__lower-btn w-condition-invisible"><a data-wf--button--variant="mob-size-m" href="https://account.epop.tech/Account/Login" class="btn w-variant-b
217511c26b3-d5de-4476-b4e0-e9f9e87bdc79 w-inline-block"><div class="control-l">Book a demo</div></a></div><div class="plans-card__lower-btn"><a data-onLight="True" data-wf--button-secondary--variant="mob-size-m" href="/book-a-demo" class="btn-secondary w-variant-b4989365-c8a2-09b4-5c11-6f978c9c2015 w-inline-block"><div class="control-l">Book a demo</div></a></div><div class="plans-card__lower-list"><div class="header-h5">Everything in Concept, plus</div><div class="case-rich-text in-plans-card w-richtext"><ul role="list"><li>Detailed speed–torque modelling across operating conditions</li><li>Configurable component combinations with efficiency optimisation</li><li>System-to-component loss iteration to achieve &gt;90% system efficiency</li></ul></div></div></div></div></div><div role="listitem" class="splide__slide plans-slide w-dyn-item"><div class="plans-card__popular w-condition-invisible"><div class="caption-xs-upp">Most Popular</div></div><div class="plans-card"><div class="plans-card__upper"><div class="plans-card__upper-heading"><h3 class="header-h4">Data library</h3><p class="body-m text-secondary-onlight">Comprehensive database of vehicles and components for engineering validation.</p></div><div class="plans-card__upper-price"><div class="header-h2">On request</div><p class="body-s text-secondary-onlight">Pricing available upon inquiry</p></div></div><div class="plans-card__lower"><div class="plans-card__lower-btn w-condition-invisible"><a data-wf--button--variant="mob-size-m" href="https://account.epop.tech/Account/Login" class="btn w-variant-b11c26b3-d5de-4476-b4e0-e9f9e87bdc79 w-inline-block"><div class="control-l">Book a demo</div></a></div><div class="plans-card__lower-btn"><a data-onLight="True" data-wf--button-secondary--variant="mob-size-m" href="/book-a-demo" class="btn-secondary w-variant-b4989365-c8a2-09b4-5c11-6f978c9c2015 w-inline-block"><div class="control-l">Book a demo</div></a></div><div class="plans-card__lower-list"><div class="header-h5">Everything in Pro, plus</div><div class="case-rich-text in-plans-card w-richtext"><ul role="list"><li>Real-world vehicle performance and energy-density datasets</li><li>Verified component loss maps and CAD models</li><li>Accurate reference points to anchor simulations and supplier selections</li></ul></div></div></div></div></div></div></div><div class="plans-slider__btns"><div class="splide__pagination slider-pagination"></div><button data-slider-btn-prev="" type="button" aria-label="prev" class="btn-min"><div class="icon-22 w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 22 22" fill="none">
2176  <path d="M17 11H5.12061M11 17L5 11L11 5" stroke="currentcolor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2177</svg></div></button><button data-slider-btn-next="" type="button" aria-label="next" class="btn-min"><div class="icon-22 w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 22 22" fill="none">
2178  <path d="M5 11H16.8794M11 17L17 11L11 5" stroke="currentcolor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2179</svg></div></button></div></div></div></div></div></div></section><section class="releases"><div class="page-padding"><div class="container"><div class="wrap releases__wrap"><div class="releases-form-block w-form"><form method="get" name="email-form" data-simple-dropdown-wrap="" data-name="Email Form" id="email-form" data-no-auto-open="" class="form" data-wf-page-id="6920ceefd6e9590d3ad15797" data-wf-element-id="11010540-f1df-1a31-5154-ec49d40d1e1f"><div data-fadeIn="" class="heading releases__heading"><div class="caption"><div class="icon-22 w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 22 22" fill="none">
2180  <path d="M5.6 3.8V2M16.4 3.8V2M9.2 3.8V2M12.8 3.8V2M5.6 20V18.2M16.4 20V18.2M9.2 20V18.2M12.8 20V18.2M3.8 16.4H2M3.8 5.6H2M3.8 12.8H2M3.8 9.2H2M20 16.4H18.2M20 5.6L18.2 5.6M20 12.8H18.2M20 9.2H18.2M8.12 18.2H13.88C15.3921 18.2 16.1482 18.2 16.7258 17.9057C17.2338 17.6469 17.6469 17.2338 17.9057 16.7258C18.2 16.1482 18.2 15.3921 18.2 13.88V8.12C18.2 6.60786 18.2 5.85179 17.9057 5.27423C17.6469 4.76619 17.2338 4.35314 16.7258 4.09428C16.1482 3.8 15.3921 3.8 13.88 3.8H8.12C6.60786 3.8 5.85179 3.8 5.27423 4.09428C4.76619 4.35314 4.35314 4.76619 4.09428 5.27423C3.8 5.85179 3.8 6.60
2180786 3.8 8.12V13.88C3.8 15.3921 3.8 16.1482 4.09428 16.7258C4.35314 17.2338 4.76619 17.6469 5.27423 17.9057C5.85179 18.2 6.60786 18.2 8.12 18.2Z" stroke="currentcolor" stroke-opacity="0.6" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2181</svg></div><p class="caption-l">System Overview</p></div><div class="spacer-16 mob-10"></div><h2 class="header-h2">ePOP <span data-title-anim-gr="">releases</span></h2></div><div data-simple-dropdown="" id="w-node-d5228544-4d86-d60a-38fe-3da4aa017d91-3ad15797" class="r-year-dropdown"><button data-simple-dropdown-toggle="" type="button" class="r-year-dropdown__toggle"><div class="r-year-dropdown__toggle-text"><div class="caption-l">Year:  </div><div id="selected-year" class="caption-l">Dropdown</div></div><div data-dropdown-arrow="" class="r-year-dropdown__arrow w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 22 22" fill="none">
2182  <path d="M5.5 8.5L11 13.5L16.5 8.5" stroke="currentcolor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2183</svg></div></button><div data-simple-dropdown-list="" class="r-year-dropdown__list"><div class="r-year-col-wrap w-dyn-list"><div role="list" class="r-year-col-list w-dyn-items"><div role="listitem" class="r-year-col-item w-dyn-item"><label class="r-year-radio"><input type="radio" name="year-radio" data-filter-year="2024" class="r-year-radio__input" value="2024"/><div class="r-year-radio__icon w-embed"><svg width="100%" height="100%" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2184  <path d="M2 8L6 12L14 4" stroke="currentcolor" stroke-linecap="round" stroke-linejoin="round" />
2185</svg></div><div class="r-year-radio__label">2024</div></label></div><div role="listitem" class="r-year-col-item w-dyn-item"><label class="r-year-radio"><input type="radio" name="year-radio" data-filter-year="2025" class="r-year-radio__input" value="2025"/><div class="r-year-radio__icon w-embed"><svg width="100%" height="100%" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2186  <path d="M2 8L6 12L14 4" stroke="currentcolor" stroke-linecap="round" stroke-linejoin="round" />
2187</svg></div><div class="r-year-radio__label">2025</div></label></div></div></div></div></div><div id="w-node-_8f135480-d7c9-67c2-a8fe-510468ddc543-3ad15797" class="quarter-col-wrap w-dyn-list"><div role="list" class="quarter-col-list w-dyn-items"><div data-year="2024" role="listitem" class="quarter-col-item w-dyn-item"><label class="quarter-radio w-radio"><input type="radio" name="quarter-radio" id="radio-3" data-name="quarter-radio" data-filter-quarter="Q1" class="w-form-formradioinput quarter-radio__input w-radio-input" value=""/><span class="quarter-radio__label w-form-label" for="radio-3">Q1</span><div class="quarter-radio__year"><div class="caption-l">/</div><div class="caption-l">2024</div></div></label><div class="hidden"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/6923b457d6763c7467a82167_Efficient%20energy%20storage%20for%20stationary%20power%20systems.avif" loading="lazy" alt="" class="quarter-img"/></div></div><div data-year="2024" role="listitem" class="quarter-col-item w-dyn-item"><label class="quarter-radio w-radio"><input type="radio" name="quarter-radio" id="radio-3" data-name="quarter-radio" data-filter-quarter="Q2" class="w-form-formradioinput quarter-radio__input w-radio-input" value=""/><span class="quarter-radio__label w-form-label" for="radio-3">Q2</span><div class="quarter-radio__year"><div class="caption-l">/</div><div class="caption-l">2024</div></div></label><div class="hidden"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/6923b48c22843d99678ac36e_ZeBeyond%20at%20Electric%20%26%20Hybrid%20Vehicle%20Technology%20Expo.avif" loading="lazy" alt="" class="quarter-img"/></div></div><div data-year="2024" role="listitem" class="quarter-col-item w-dyn-item"><label class="quarter-radio w-radio"><input type="radio" name="quarter-radio" id="radio-3" data-name="quarter-radio" data-filter-quarter="Q3" class="w-form-formradioinput quarter-radio__input w-radio-input" value=""/><span class="quarter-radio__label w-form-label" for="radio-3">
2187Q3</span><div class="quarter-radio__year"><div class="caption-l">/</div><div class="caption-l">2024</div></div></label><div class="hidden"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/6923b4a44a459200fdb8f578_Energy%20Systems%20Innovation%20Summit%202025.avif" loading="lazy" alt="" class="quarter-img"/></div></div><div data-year="2024" role="listitem" class="quarter-col-item w-dyn-item"><label class="quarter-radio w-radio"><input type="radio" name="quarter-radio" id="radio-3" data-name="quarter-radio" data-filter-quarter="Q4" class="w-form-formradioinput quarter-radio__input w-radio-input" value=""/><span class="quarter-radio__label w-form-label" for="radio-3">Q4</span><div class="quarter-radio__year"><div class="caption-l">/</div><div class="caption-l">2024</div></div></label><div class="hidden"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/6923b457d6763c7467a82167_Efficient%20energy%20storage%20for%20stationary%20power%20systems.avif" loading="lazy" alt="" class="quarter-img"/></div></div><div data-year="2025" role="listitem" class="quarter-col-item w-dyn-item"><label class="quarter-radio w-radio"><input type="radio" name="quarter-radio" id="radio-3" data-name="quarter-radio" data-filter-quarter="Q1" class="w-form-formradioinput quarter-radio__input w-radio-input" value=""/><span class="quarter-radio__label w-form-label" for="radio-3">Q1</span><div class="quarter-radio__year"><div class="caption-l">/</div><div class="caption-l">2025</div></div></label><div class="hidden"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692435ff7d4cec7bdc24dd09_q1.avif" loading="lazy" alt="" sizes="100vw" srcset="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692435ff7d4cec7bdc24dd09_q1-p-500.avif 500w, https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692435ff7d4cec7bdc24dd09_q1-p-800.avif 800w, https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692435ff7d4cec7bdc24dd09_q1-p-1080.avif 1080w, https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692435ff7d4cec7bdc24dd09_q1-p-1600.avif 1600w, https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692435ff7d4cec7bdc24dd09_q1-p-2000.avif 2000w, https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692435ff7d4cec7bdc24dd09_q1.avif 2555w" class="quarter-img"/></div></div><div data-year="2025" role="listitem" class="quarter-col-item w-dyn-item"><label class="quarter-radio w-radio"><input type="radio" name="quarter-radio" id="radio-3" data-name="quarter-radio" data-filter-quarter="Q2" class="w-form-formradioinput quarter-radio__input w-radio-input" value=""/><span class="quarter-radio__label w-form-label" for="radio-3">Q2</span><div class="quarter-radio__year"><div class="caption-l">/</div><div class="caption-l">2025</div></div></label><div class="hidden"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692436082632ef318246d449_q2.avif" loading="lazy" alt="" sizes="100vw" srcset="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692436082632ef318246d449_q2-p-500.avif 500w, https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692436082632ef318246d449_q2-p-800.avif 800w, https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692436082632ef318246d449_q2-p-1080.avif 1080w, https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692436082632ef318246d449_q2-p-1600.avif 1600w, https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692436082632ef318246d449_q2.avif 2560w" class="quarter-img"/></div></div><div data-year="2025" role="listitem" class="quarter-col-item w-dyn-item"><label class="quarter-radio w-radio"><input type="radio" name="quarter-radio" id="radio-3" data-name="quarter-radio" data-filter-quarter="Q3" class="w-form-formradioinput quarter-radio__input w-radio-input" value=""/><span class="quarter-radio__label w-form-label" for="radio-3">Q3</span><div class="quarter-radio__year"><div class="caption-l">/</div><div class="caption-l">2025</div></div></label><div class="hidden"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692436107319136b2a27f13b_q3.avif" loading="lazy" alt="" sizes="100vw" srcset="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692436107319136b2a27f13b_q3-p-500.avif 500w, https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692436107319136b2a27f13b_q3-p-800.avif 800w, https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692436107319136b2a27f13b_q3-p-1080.avif 1080w, https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692436107319136b2a27f13b_q3-p-1600.avif 1600w, https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692436107319136b2a27f13b_q3.avif 2560w" class="quarter-img"/></div></div><div data-year="2025" role="listitem" class="quarter-col-item w-dyn-item"><label class="quarter-radio w-radio"><input type="radio" name="quarter-radio" id="radio-3" data-name="quarter-radio" data-filter-quarter="Q4" class="w-form-formradioinput quarter-radio__input w-radio-input" value=""/><span class="quarter-radio__label w-form-label" for="radio-3">Q4</span><div class="quarter-radio__year"><div class="caption-l">/</div><div class="caption-l">2025</div></div></label><div class="hidden"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692436187d82619eb1b9848a_q4.avif" loading="lazy" alt="" sizes="100vw" srcset="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692436187d82619eb1b9848a_q4-p-500.avif 500w, https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692436187d82619eb1b9848a_q4-p-800.avif 800w, https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692436187d82619eb1b9848a_q4-p-1080.avif 1080w, https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692436187d82619eb1b9848a_q4-p-1600.avif 1600w, https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692436187d82619eb1b9848a_q4.avif 2560w" class="quarter-img"/></div></div></div></div></form></div><div data-no-auto-open="" class="quarter-content"><div class="quarter-content__left"><div class="quarter-header"><h3 id="quarter-title" class="header-h3">quarter-header</h3></div><div data-no-auto-open="" data-simple-dropdown-wrap="" class="quarter-filters"><div data-simple-dropdown="" class="filter-dropdown"><button data-simple-dropdown-toggle="" type="button" class="filter-dropdown__toggle"><div class="filter-dropdown__text"><div class="caption-s">Date:</div><div class="filter-dropdown__text-selected"><div id="selected-date" class="caption-s">select</div></div></div><div data-dropdown-arrow="" class="filter-dropdown__arrow w-embed">
2187<svg width="100%" height="100%" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2188  <path d="M3 6L8 11L13 6" stroke="currentcolor" stroke-linecap="round" stroke-linejoin="round" />
2189</svg></div></button><div data-simple-dropdown-list="" class="filter-dropdown__list"><div id="date-options" class="filter-options"><a data-filter-value="All" data-filter-type="date" href="#" class="filter-option w-inline-block"><div class="caption-s">All</div><div class="filter-option__icon w-embed"><svg width="100%" height="100%" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2190  <path d="M2 8L6 12L14 4" stroke="currentcolor" stroke-linecap="round" stroke-linejoin="round" />
2191</svg></div></a></div></div></div><div data-simple-dropdown="" class="filter-dropdown"><button data-simple-dropdown-toggle="" type="button" class="filter-dropdown__toggle"><div class="filter-dropdown__text"><div class="caption-s">Releases:</div><div class="filter-dropdown__text-selected"><div id="selected-version" class="caption-s">select</div></div></div><div data-dropdown-arrow="" class="filter-dropdown__arrow w-embed"><svg width="100%" height="100%" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2192  <path d="M3 6L8 11L13 6" stroke="currentcolor" stroke-linecap="round" stroke-linejoin="round" />
2193</svg></div></button><div data-simple-dropdown-list="" class="filter-dropdown__list"><div id="version-options" class="filter-options"><a data-filter-value="All" data-filter-type="version" href="#" class="filter-option w-inline-block"><div class="caption-s">All</div><div class="filter-option__icon w-embed"><svg width="100%" height="100%" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2194  <path d="M2 8L6 12L14 4" stroke="currentcolor" stroke-linecap="round" stroke-linejoin="round" />
2195</svg></div></a></div></div></div><div data-simple-dropdown="" id="w-node-_45acd71a-7216-01f8-ce5a-80b54870dca0-3ad15797" class="filter-dropdown"><button data-simple-dropdown-toggle="" type="button" class="filter-dropdown__toggle"><div class="filter-dropdown__text"><div class="caption-s">Categories:</div><div class="filter-dropdown__text-selected"><div id="selected-category" class="caption-s">select</div></div></div><div data-dropdown-arrow="" class="filter-dropdown__arrow w-embed"><svg width="100%" height="100%" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2196  <path d="M3 6L8 11L13 6" stroke="currentcolor" stroke-linecap="round" stroke-linejoin="round" />
2197</svg></div></button><div data-simple-dropdown-list="" class="filter-dropdown__list"><div id="category-options" class="filter-options"><a data-filter-value="All categories" data-filter-type="category" href="#" class="filter-option w-inline-block"><div class="caption-s">All categories</div><div class="filter-option__icon w-embed"><svg width="100%" height="100%" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2198  <path d="M2 8L6 12L14 4" stroke="currentcolor" stroke-linecap="round" stroke-linejoin="round" />
2199</svg></div></a></div></div></div></div><div class="releases-col-wrap w-dyn-list"><div fs-list-element="list" role="list" class="releases-col-list w-dyn-items"><div data-category="Pre-Processing" data-quarter="Q1" data-year="2024" data-date="13/3/2024" data-version="1.8.0" role="listitem" class="releases-col-item w-dyn-item"><div class="releases-item"><div class="releases-item__tags"><div class="releases-item__tag"><div class="caption-s">13/3/2024</div></div><div class="releases-item__tag"><div class="caption-s">1.8.0</div></div><div class="releases-item__tag"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692423326de005096062d003_ct-icon-7.svg" loading="lazy" alt="" class="icon-16"/><div class="caption-s">Pre-Processing</div></div></div><div class="releases-item__title"><div class="body-s text-secondary-onlight">New powertrain layout Input Split Parallel Hybrid added for Toyota Prius-size traction applications (forward facing model only)</div></div><div class="hidden"><div>Q1</div><div>13/3/2024</div><div>2024</div></div></div></div><div data-category="Run Study" data-quarter="Q1" data-year="2024" data-date="13/3/2024" data-version="1.8.0" role="listitem" class="releases-col-item w-dyn-item"><div class="releases-item"><div class="releases-item__tags"><div class="releases-item__tag"><div class="caption-s">13/3/2024</div></div><div class="releases-item__tag"><div class="caption-s">1.8.0</div></div><div class="releases-item__tag"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/69242345d184397c608d7a13_ct-icon-9.svg" loading="lazy" alt="" class="icon-16"/><div class="caption-s">Run Study</div></div></div><div class="releases-item__title"><div class="body-s text-secondary-onlight">Vehicle model now includes ICE BSFC calculations based on fuel enerev density value from ICE data</div></div><div class="hidden"><div>Q1</div><div>13/3/2024</div><div>2024</div></div></div></div><div data-category="Pre-Processing" data-quarter="Q2" data-year="2024" data-date="2/4/2024" data-version="1.9.0" role="listitem" class="releases-col-item w-dyn-item"><div class="releases-item"><div class="releases-item__tags"><div class="releases-item__tag"><div class="caption-s">2/4/2024</div></div><div class="releases-item__tag"><div class="caption-s">1.9.0</div></div><div class="releases-item__tag"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692423326de005096062d003_ct-icon-7.svg" loading="lazy" alt="" class="icon-16"/><div class="caption-s">Pre-Processing</div></div></div><div class="releases-item__title"><div class="body-s text-secondary-onlight">Enabled functionality to define cycle as outout torque/speed instead of vehicle definition + resistance</div></div><div class="hidden"><div>Q2</div><div>2/4/2024</div><div>2024</div></div></div></div><div data-category="Pre-Processing" data-quarter="Q2" data-year="2024" data-date="2/4/2024" data-version="1.9.0" role="listitem" class="releases-col-item w-dyn-item"><div class="releases-item"><div class="releases-item__tags"><div class="releases-item__tag"><div class="caption-s">2/4/2024</div></div><div class="releases-item__tag"><div class="caption-s">1.9.0</div></div><div class="releases-item__tag"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692423326de005096062d003_ct-icon-7.svg" loading="lazy" alt="" class="icon-16"/><div class="caption-s">Pre-Processing</div></div></div><div class="releases-item__title"><div class="body-s text-secondary-onlight">Added first of many 4WD powertrain architectures: BEV Single Motor 4WD (identical EDUs)</div></div><div class="hidden"><div>Q2</div><div>2/4/2024</div><div>2024</div></div></div></div><div data-category="Run Study" data-quarter="Q2" data-year="2024" data-date="2/4/2024" data-version="1.9.0" role="listitem" class="releases-col-item w-dyn-item"><div class="releases-item"><div class="releases-item__tags"><div class="releases-item__tag"><div class="caption-s">2/4/2024</div></div><div class="releases-item__tag"><div class="caption-s">1.9.0</div></div><div class="releases-item__tag"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/69242345d184397c608d7a13_ct-icon-9.svg" loading="lazy" alt="" class="icon-16"/><div class="caption-s">Run Study</div></div></div><div class="releases-item__title"><div class="body-s text-secondary-onlight">Input Split Parallel Hybrid controller now auto-configured by power source parameters</div></div><div class="hidden"><div>Q2</div><div>2/4/2024</div><div>2024</div></div></div></div><div data-category="Run Study" data-quarter="Q2" data-year="2024" data-date="2/4/2024" data-version="1.9.0" role="listitem" class="releases-col-item w-dyn-item"><div class="releases-item"><div class="releases-item__tags"><div class="releases-item__tag"><div class="caption-s">2/4/2024</div></div><div class="releases-item__tag"><div class="caption-s">1.9.0</div></div><div class="releases-item__tag"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/69242345d184397c608d7a13_ct-icon-9.svg" loading="lazy" alt="" class="icon-16"/><div class="caption-s">Run Study</div></div></div><div class="releases-item__title"><div class="body-s text-secondary-onlight">Input Split Parallel Hybrid configurable parameters added: Final Drive ratio and MG2 to Ring Gear ratio</div></div><div class="hidden"><div>Q2</div><div>2/4/2024</div><div>2024</div></div></div></div><div data-category="Requirements Analysis" data-quarter="Q2" data-year="2024" data-date="2/4/2024" data-version="2.0.0" role="listitem" class="releases-col-item w-dyn-item"><div class="releases-item"><div class="releases-item__tags"><div class="releases-item__tag"><div class="caption-s">2/4/2024</div></div><div class="releases-item__tag"><div class="caption-s">2.0.0</div></div><div class="releases-item__tag"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/6924233cfc3a1ae1d34d1bc9_ct-icon-8.svg" loading="lazy" alt="" class="icon-16"/><div class="caption-s">Requirements Analysis</div></div></div><div class="releases-item__title"><div class="body-s text-secondary-onlight">Requirements Analysis Added</div></div><div class="hidden"><div>Q2</div><div>2/4/2024</div><div>2024</div></div></div></div><div data-category="Power Source Sizing" data-quarter="Q2" data-year="2024" data-date="2/4/2024" data-version="2.0.0" role="listitem" class="releases-col-item w-dyn-item"><div class="releases-item"><div class="releases-item__tags"><div class="releases-item__tag"><div class="caption-s">2/4/2024</div></div><div class="releases-item__tag"><div class="caption-s">2.0.0</div></div><div class="releases-item__tag"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692423282b65b49850c6cda9_ct-icon-6.svg" loading="lazy" alt="" class="icon-16"/><div class="caption-s">Power Source Sizing</div></div></div><div class="releases-item__title"><div class="body-s text-secondary-onlight">Core power source functionality added</div></div><div class="hidden"><div>Q2</div><div>2/4/2024</div><div>2024</div></div></div></div><div data-category="Component generation" data-quarter="Q2" data-year="2024" data-date="4/4/2024" data-version="1.9.1" role="listitem" class="releases-col-item w-dyn-item"><div class="releases-item"><div class="releases-item__tags"><div class="releases-item__tag"><div class="caption-s">4/4/2024</div></div><div class="releases-item__tag"><div class="caption-s">1.9.1</div></div><div class="releases-item__tag"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692421e9507203e308ed0e7c_ct-icon-1.svg" loading="lazy" alt="" class="icon-16"/><div class="caption-s">Component generation</div></div></div><div class="releases-item__title"><div class="body-s text-secondary-onlight">All Excel import functions now support variable size lookup vectors and maps defined as input. (MGEN: 2-DI maps must have odd number of torque breakpoints, assuming a zero torque value in middle of map)</div></div><div class="hidden"><div>Q2</div><div>4/4/2024</div><div>2024</div></div></div></div><div data-category="Run Study" data-quarter="Q2" data-year="2024" data-date="4/4/2024" data-version="1.9.1" role="listitem" class="releases-col-item w-dyn-item"><div class="releases-item"><div class="releases-item__tags"><div class="releases-item__tag"><div class="caption-s">4/4/2024</div></div><div class="releases-item__tag"><div class="caption-s">1.9.1</div></div><div class="releases-item__tag"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/69242345d184397c608d7a13_ct-icon-9.svg" loading="lazy" alt="" class="icon-16"/><div class="caption-s">Run Study</div></div></div><div class="releases-item__title"><div class="body-s text-secondary-onlight">Series Hybrids: ICE Optimal Operating Line now auto-generates from BSFC map in pre-processing</div></div><div class="hidden"><div>Q2</div><div>4/4/2024</div><div>2024</div></div></div></div><div data-category="All" data-quarter="Q3" data-year="2024" data-date="1/7/2024" data-version="2.1.0" role="listitem" class="releases-col-item w-dyn-item"><div class="releases-item"><div class="releases-item__tags"><div class="releases-item__tag"><div class="caption-s">1/7/2024</div></div><div class="releases-item__tag"><div class="caption-s">2.1.0</div></div><div class="releases-item__tag"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692421dc839f7fdc36326ef1_ct-icon-3.svg" loading="lazy" alt="" class="icon-16"/><div class="caption-s">All</div></div></div><div class="releases-item__title"><div class="body-s text-secondary-onlight">Limited functionality, significant UI/UX updates, parallel execution, study config updates, run study generates v1.9.5 compatible outputs</div></div><div class="hidden"><div>Q3</div><div>1/7/2024</div><div>2024</div></div></div></div><div data-category="Data Library" data-quarter="Q4" data-year="2024" data-date="14/10/2024" data-version="2.3.0" role="listitem" class="releases-col-item w-dyn-item"><div class="releases-item"><div class="releases-item__tags"><div class="releases-item__tag"><div class="caption-s">14/10/2024</div></div><div class="releases-item__tag"><div class="caption-s">2.3.0</div></div><div class="releases-item__tag"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692421e2c42e7b86e24c47d5_ct-icon-2.svg" loading="lazy" alt="" class="icon-16"/><div class="caption-s">Data Library</div></div></div><div class="releases-item__title"><div class="body-s text-secondary-onlight">Added new component type: Battery</div></div><div class="hidden"><div>Q4</div><div>14/10/2024</div><div>2024</div></div></div></div><div data-category="Data Library" data-quarter="Q4" data-year="2024" data-date="14/10/2024" data-version="2.3.0" role="listitem" class="releases-col-item w-dyn-item"><div class="releases-item"><div class="releases-item__tags"><div class="releases-item__tag"><div class="caption-s">14/10/2024</div></div><div class="releases-item__tag"><div class="caption-s">2.3.0</div></div><div class="releases-item__tag"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692421e2c42e7b86e24c47d5_ct-icon-2.svg" loading="lazy" alt="" class="icon-16"/><div class="caption-s">Data Library</div></div></div><div class="releases-item__title"><div class="body-s text-secondary-onlight">Added new component type: Fuel</div></div><div class="hidden"><div>Q4</div><div>14/10/2024</div><div>2024</div></div></div></div><div data-category="Component generation" data-quarter="Q4" data-year="2024" data-date="14/10/2024" data-version="2.3.0" role="listitem" class="releases-col-item w-dyn-item"><div class="releases-item"><div class="releases-item__tags"><div class="releases-item__tag"><div class="caption-s">14/10/2024</div></div><div class="releases-item__tag"><div class="caption-s">2.3.0</div></div><div class="releases-item__tag"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692421e9507203e308ed0e7c_ct-icon-1.svg" loading="lazy" alt="" class="icon-16"/><div class="caption-s">Component generation</div></div></div><div class="releases-item__title"><div class="body-s text-secondary-onlight">TGEN embedded NVH metric: Gear Contact Ratio</div></div><div class="hidden"><div>Q4</div><div>14/10/2024</div><div>2024</div></div></div></div><div data-category="Pre-Processing" data-quarter="Q4" data-year="2024" data-date="14/10/2024" data-version="2.3.0" role="listitem" class="releases-col-item w-dyn-item"><div class="releases-item"><div class="releases-item__tags"><div class="releases-item__tag"><div class="caption-s">14/10/2024</div></div><div class="releases-item__tag"><div class="caption-s">2.3.0</div></div><div class="releases-item__tag"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692423326de005096062d003_ct-icon-7.svg" loading="lazy" alt="" class="icon-16"/><div class="caption-s">Pre-Processing</div></div></div><div class="releases-item__title"><div class="body-s text-secondary-onlight">
2199Study cases UI overhaul</div></div><div class="hidden"><div>Q4</div><div>14/10/2024</div><div>2024</div></div></div></div><div data-category="Run Study" data-quarter="Q4" data-year="2024" data-date="25/10/2024" data-version="2.4.0" role="listitem" class="releases-col-item w-dyn-item"><div class="releases-item"><div class="releases-item__tags"><div class="releases-item__tag"><div class="caption-s">25/10/2024</div></div><div class="releases-item__tag"><div class="caption-s">2.4.0</div></div><div class="releases-item__tag"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/69242345d184397c608d7a13_ct-icon-9.svg" loading="lazy" alt="" class="icon-16"/><div class="caption-s">Run Study</div></div></div><div class="releases-item__title"><div class="body-s text-secondary-onlight">Series Hybrid control system embedded</div></div><div class="hidden"><div>Q4</div><div>25/10/2024</div><div>2024</div></div></div></div><div data-category="Sustainability" data-quarter="Q1" data-year="2025" data-date="28/3/2025" data-version="3.0.0" role="listitem" class="releases-col-item w-dyn-item"><div class="releases-item"><div class="releases-item__tags"><div class="releases-item__tag"><div class="caption-s">28/3/2025</div></div><div class="releases-item__tag"><div class="caption-s">3.0.0</div></div><div class="releases-item__tag"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/6924234b7319136b2a2202ce_ct-icon-10.svg" loading="lazy" alt="" class="icon-16"/><div class="caption-s">Sustainability</div></div></div><div class="releases-item__title"><div class="body-s text-secondary-onlight">Added Toxicity KPI</div></div><div class="hidden"><div>Q1</div><div>28/3/2025</div><div>2025</div></div></div></div><div data-category="Sustainability" data-quarter="Q1" data-year="2025" data-date="28/3/2025" data-version="3.0.0" role="listitem" class="releases-col-item w-dyn-item"><div class="releases-item"><div class="releases-item__tags"><div class="releases-item__tag"><div class="caption-s">28/3/2025</div></div><div class="releases-item__tag"><div class="caption-s">3.0.0</div></div><div class="releases-item__tag"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/6924234b7319136b2a2202ce_ct-icon-10.svg" loading="lazy" alt="" class="icon-16"/><div class="caption-s">Sustainability</div></div></div><div class="releases-item__title"><div class="body-s text-secondary-onlight">Added water use KPI</div></div><div class="hidden"><div>Q1</div><div>28/3/2025</div><div>2025</div></div></div></div><div data-category="Sustainability" data-quarter="Q1" data-year="2025" data-date="28/3/2025" data-version="3.0.0" role="listitem" class="releases-col-item w-dyn-item"><div class="releases-item"><div class="releases-item__tags"><div class="releases-item__tag"><div class="caption-s">28/3/2025</div></div><div class="releases-item__tag"><div class="caption-s">3.0.0</div></div><div class="releases-item__tag"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/6924234b7319136b2a2202ce_ct-icon-10.svg" loading="lazy" alt="" class="icon-16"/><div class="caption-s">Sustainability</div></div></div><div class="releases-item__title"><div class="body-s text-secondary-onlight">Added application type to materials</div></div><div class="hidden"><div>Q1</div><div>28/3/2025</div><div>2025</div></div></div></div><div data-category="Pre-Processing" data-quarter="Q1" data-year="2025" data-date="28/3/2025" data-version="3.0.0" role="listitem" class="releases-col-item w-dyn-item"><div class="releases-item"><div class="releases-item__tags"><div class="releases-item__tag"><div class="caption-s">28/3/2025</div></div><div class="releases-item__tag"><div class="caption-s">3.0.0</div></div><div class="releases-item__tag"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692423326de005096062d003_ct-icon-7.svg" loading="lazy" alt="" class="icon-16"/><div class="caption-s">Pre-Processing</div></div></div><div class="releases-item__title"><div class="body-s text-secondary-onlight">Animated recalculate button</div></div><div class="hidden"><div>Q1</div><div>28/3/2025</div><div>2025</div></div></div></div><div data-category="Pre-Processing" data-quarter="Q1" data-year="2025" data-date="28/3/2025" data-version="3.0.0" role="listitem" class="releases-col-item w-dyn-item"><div class="releases-item"><div class="releases-item__tags"><div class="releases-item__tag"><div class="caption-s">28/3/2025</div></div><div class="releases-item__tag"><div class="caption-s">3.0.0</div></div><div class="releases-item__tag"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692423326de005096062d003_ct-icon-7.svg" loading="lazy" alt="" class="icon-16"/><div class="caption-s">Pre-Processing</div></div></div><div class="releases-item__title"><div class="body-s text-secondary-onlight">Add clone study case to context menu</div></div><div class="hidden"><div>Q1</div><div>28/3/2025</div><div>2025</div></div></div></div><div data-category="Pre-Processing" data-quarter="Q1" data-year="2025" data-date="28/3/2025" data-version="3.0.0" role="listitem" class="releases-col-item w-dyn-item"><div class="releases-item"><div class="releases-item__tags"><div class="releases-item__tag"><div class="caption-s">28/3/2025</div></div><div class="releases-item__tag"><div class="caption-s">3.0.0</div></div><div class="releases-item__tag"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692423326de005096062d003_ct-icon-7.svg" loading="lazy" alt="" class="icon-16"/><div class="caption-s">Pre-Processing</div></div></div><div class="releases-item__title"><div class="body-s text-secondary-onlight">Study case - gray out cloned parts</div></div><div class="hidden"><div>Q1</div><div>28/3/2025</div><div>2025</div></div></div></div><div data-category="Pre-Processing" data-quarter="Q1" data-year="2025" data-date="28/3/2025" data-version="3.0.0" role="listitem" class="releases-col-item w-dyn-item"><div class="releases-item"><div class="releases-item__tags"><div class="releases-item__tag"><div class="caption-s">28/3/2025</div></div><div class="releases-item__tag"><div class="caption-s">3.0.0</div></div><div class="releases-item__tag"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692423326de005096062d003_ct-icon-7.svg" loading="lazy" alt="" class="icon-16"/><div class="caption-s">Pre-Processing</div></div></div><div class="releases-item__title"><div class="body-s text-secondary-onlight">Inclusion tree changes</div></div><div class="hidden"><div>Q1</div><div>28/3/2025</div><div>2025</div></div></div></div><div data-category="Run Study" data-quarter="Q1" data-year="2025" data-date="28/3/2025" data-version="3.0.0" role="listitem" class="releases-col-item w-dyn-item"><div class="releases-item"><div class="releases-item__tags"><div class="releases-item__tag"><div class="caption-s">28/3/2025</div></div><div class="releases-item__tag"><div class="caption-s">3.0.0</div></div><div class="releases-item__tag"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/69242345d184397c608d7a13_ct-icon-9.svg" loading="lazy" alt="" class="icon-16"/><div class="caption-s">Run Study</div></div></div><div class="releases-item__title"><div class="body-s text-secondary-onlight">PR 726: Motor &amp; Inverter matching now done in runtime</div></div><div class="hidden"><div>Q1</div><div>28/3/2025</div><div>2025</div></div></div></div><div data-category="Run Study" data-quarter="Q1" data-year="2025" data-date="28/3/2025" data-version="3.0.0" role="listitem" class="releases-col-item w-dyn-item"><div class="releases-item"><div class="releases-item__tags"><div class="releases-item__tag"><div class="caption-s">28/3/2025</div></div><div class="releases-item__tag"><div class="caption-s">3.0.0</div></div><div class="releases-item__tag"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/69242345d184397c608d7a13_ct-icon-9.svg" loading="lazy" alt="" class="icon-16"/><div class="caption-s">Run Study</div></div></div><div class="releases-item__title"><div class="body-s text-secondary-onlight">PR 705: Inverter Loss calculations updated &amp; correlated against Semikron Application Note</div></div><div class="hidden"><div>Q1</div><div>28/3/2025</div><div>2025</div></div></div></div><div data-category="Run Study" data-quarter="Q1" data-year="2025" data-date="28/3/2025" data-version="3.0.0" role="listitem" class="releases-col-item w-dyn-item"><div class="releases-item"><div class="releases-item__tags"><div class="releases-item__tag"><div class="caption-s">28/3/2025</div></div><div class="releases-item__tag"><div class="caption-s">3.0.0</div></div><div class="releases-item__tag"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/69242345d184397c608d7a13_ct-icon-9.svg" loading="lazy" alt="" class="icon-16"/><div class="caption-s">Run Study</div></div></div><div class="releases-item__title"><div class="body-s text-secondary-onlight">PR 680: Add Output speed torque override to run study options</div></div><div class="hidden"><div>Q1</div><div>28/3/2025</div><div>2025</div></div></div></div><div data-category="Post Processing" data-quarter="Q1" data-year="2025" data-date="28/3/2025" data-version="3.0.0" role="listitem" class="releases-col-item w-dyn-item"><div class="releases-item"><div class="releases-item__tags"><div class="releases-item__tag"><div class="caption-s">28/3/2025</div></div><div class="releases-item__tag"><div class="caption-s">3.0.0</div></div><div class="releases-item__tag"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/6924231d401e2c1d20af5016_ct-icon-5.svg" loading="lazy" alt="" class="icon-16"/><div class="caption-s">Post Processing</div></div></div><div class="releases-item__title"><div class="body-s text-secondary-onlight">Add signals into post processing for use of water and toxicity</div></div><div class="hidden"><div>Q1</div><div>28/3/2025</div><div>2025</div></div></div></div><div data-category="Post Processing" data-quarter="Q1" data-year="2025" data-date="28/3/2025" data-version="3.0.0" role="listitem" class="releases-col-item w-dyn-item"><div class="releases-item"><div class="releases-item__tags"><div class="releases-item__tag"><div class="caption-s">28/3/2025</div></div><div class="releases-item__tag"><div class="caption-s">3.0.0</div></div><div class="releases-item__tag"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/6924231d401e2c1d20af5016_ct-icon-5.svg" loading="lazy" alt="" class="icon-16"/><div class="caption-s">Post Processing</div></div></div><div class="releases-item__title"><div class="body-s text-secondary-onlight">Viewer time view added under POI</div></div><div class="hidden"><div>Q1</div><div>28/3/2025</div><div>2025</div></div></div></div><div data-category="Post Processing" data-quarter="Q1" data-year="2025" data-date="28/3/2025" data-version="3.0.0" role="listitem" class="releases-col-item w-dyn-item"><div class="releases-item"><div class="releases-item__tags"><div class="releases-item__tag"><div class="caption-s">28/3/2025</div></div><div class="releases-item__tag"><div class="caption-s">3.0.0</div></div><div class="releases-item__tag"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/6924231d401e2c1d20af5016_ct-icon-5.svg" loading="lazy" alt="" class="icon-16"/><div class="caption-s">Post Processing</div></div></div><div class="releases-item__title"><div class="body-s text-secondary-onlight">Viewer Output Torque Profile now has drop down selector for speed definition (kph/rpm)</div></div><div class="hidden"><div>Q1</div><div>28/3/2025</div><div>2025</div></div></div></div><div data-category="Post Processing" data-quarter="Q1" data-year="2025" data-date="28/3/2025" data-version="3.0.0" role="listitem" class="releases-col-item w-dyn-item"><div class="releases-item"><div class="releases-item__tags"><div class="releases-item__tag"><div class="caption-s">28/3/2025</div></div><div class="releases-item__tag"><div class="caption-s">3.0.0</div></div><div class="releases-item__tag"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/6924231d401e2c1d20af5016_ct-icon-5.svg" loading="lazy" alt="" class="icon-16"/><div class="caption-s">Post Processing</div></div></div><div class="releases-item__title"><div class="body-s text-secondary-onlight">Allows user to adjust scatter plot limits manually</div></div><div class="hidden"><div>Q1</div><div>28/3/2025</div><div>2025</div></div></div></div><div data-category="Post Processing" data-quarter="Q1" data-year="2025" data-date="28/3/2025" data-version="3.0.0" role="listitem" class="releases-col-item w-dyn-item"><div class="releases-item"><div class="releases-item__tags"><div class="releases-item__tag"><div class="caption-s">28/3/2025</div></div><div class="releases-item__tag"><div class="caption-s">3.0.0</div></div><div class="releases-item__tag"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/6924231d401e2c1d20af5016_ct-icon-5.svg" loading="lazy" alt="" class="icon-16"/><div class="caption-s">Post Processing</div></div></div><div class="releases-item__title"><div class="body-s text-secondary-onlight">Viewer updated to allow axis limits to be set to manual or auto</div></div><div class="hidden"><div>Q1</div><div>28/3/2025</div><div>2025</div></div></div></div><div data-category="Post Processing" data-quarter="Q1" data-year="2025" data-date="28/3/2025" data-version="3.0.0" role="listitem" class="releases-col-item w-dyn-item"><div class="releases-item"><div class="releases-item__tags"><div class="releases-item__tag"><div class="caption-s">28/3/2025</div></div><div class="releases-item__tag"><div class="caption-s">3.0.0</div></div><div class="releases-item__tag"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/6924231d401e2c1d20af5016_ct-icon-5.svg" loading="lazy" alt="" class="icon-16"/><div class="caption-s">Post Processing</div></div></div><div class="releases-item__title"><div class="body-s text-secondary-onlight">CO2 Contribution Analysis tab added in viewer</div></div><div class="hidden"><div>Q1</div><div>28/3/2025</div><div>2025</div></div></div></div><div data-category="Post Processing" data-quarter="Q1" data-year="2025" data-date="28/3/2025" data-version="3.0.0" role="listitem" class="releases-col-item w-dyn-item"><div class="releases-item"><div class="releases-item__tags"><div class="releases-item__tag"><div class="caption-s">28/3/2025</div></div><div class="releases-item__tag"><div class="caption-s">3.0.0</div></div><div class="releases-item__tag"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/6924231d401e2c1d20af5016_ct-icon-5.svg" loading="lazy" alt="" class="icon-16"/><div class="caption-s">Post Processing</div></div></div><div class="releases-item__title"><div class="body-s text-secondary-onlight">New calculated signals for edu1 mass and emissions. Split embedded and in-use co2e, added motor steel co2/kg input</div></div><div class="hidden"><div>Q1</div><div>28/3/2025</div><div>2025</div></div></div></div><div data-category="Post Processing" data-quarter="Q1" data-year="2025" data-date="28/3/2025" data-version="3.0.0" role="listitem" class="releases-col-item w-dyn-item"><div class="releases-item"><div class="releases-item__tags"><div class="releases-item__tag"><div class="caption-s">28/3/2025</div></div><div class="releases-item__tag"><div class="caption-s">3.0.0</div></div><div class="releases-item__tag"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/6924231d401e2c1d20af5016_ct-icon-5.svg" loading="lazy" alt="" class="icon-16"/><div class="caption-s">Post Processing</div></div></div><div class="releases-item__title"><div class="body-s text-secondary-onlight">Spider plot legend at the bottom of viewer</div></div><div class="hidden"><div>Q1</div><div>28/3/2025</div><div>2025</div></div></div></div><div data-category="All" data-quarter="Q1" data-year="2025" data-date="28/3/2025" data-version="3.0.0" role="listitem" class="releases-col-item w-dyn-item"><div class="releases-item"><div class="releases-item__tags"><div class="releases-item__tag"><div class="caption-s">28/3/2025</div></div><div class="releases-item__tag"><div class="caption-s">3.0.0</div></div><div class="releases-item__tag"><img src="https:/
2199/cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692421dc839f7fdc36326ef1_ct-icon-3.svg" loading="lazy" alt="" class="icon-16"/><div class="caption-s">All</div></div></div><div class="releases-item__title"><div class="body-s text-secondary-onlight">Enable thread based parallel execution</div></div><div class="hidden"><div>Q1</div><div>28/3/2025</div><div>2025</div></div></div></div><div data-category="All" data-quarter="Q1" data-year="2025" data-date="28/3/2025" data-version="3.0.0" role="listitem" class="releases-col-item w-dyn-item"><div class="releases-item"><div class="releases-item__tags"><div class="releases-item__tag"><div class="caption-s">28/3/2025</div></div><div class="releases-item__tag"><div class="caption-s">3.0.0</div></div><div class="releases-item__tag"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692421dc839f7fdc36326ef1_ct-icon-3.svg" loading="lazy" alt="" class="icon-16"/><div class="caption-s">All</div></div></div><div class="releases-item__title"><div class="body-s text-secondary-onlight">Power flow and study config images replaced</div></div><div class="hidden"><div>Q1</div><div>28/3/2025</div><div>2025</div></div></div></div><div data-category="Documentation" data-quarter="Q1" data-year="2025" data-date="28/3/2025" data-version="3.0.0" role="listitem" class="releases-col-item w-dyn-item"><div class="releases-item"><div class="releases-item__tags"><div class="releases-item__tag"><div class="caption-s">28/3/2025</div></div><div class="releases-item__tag"><div class="caption-s">3.0.0</div></div><div class="releases-item__tag"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/6924231567adefd74b8dee6d_ct-icon-4.svg" loading="lazy" alt="" class="icon-16"/><div class="caption-s">Documentation</div></div></div><div class="releases-item__title"><div class="body-s text-secondary-onlight">Added Documentation Viewer and User Guides</div></div><div class="hidden"><div>Q1</div><div>28/3/2025</div><div>2025</div></div></div></div><div data-category="Data Library" data-quarter="Q1" data-year="2025" data-date="28/3/2025" data-version="3.0.0" role="listitem" class="releases-col-item w-dyn-item"><div class="releases-item"><div class="releases-item__tags"><div class="releases-item__tag"><div class="caption-s">28/3/2025</div></div><div class="releases-item__tag"><div class="caption-s">3.0.0</div></div><div class="releases-item__tag"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692421e2c42e7b86e24c47d5_ct-icon-2.svg" loading="lazy" alt="" class="icon-16"/><div class="caption-s">Data Library</div></div></div><div class="releases-item__title"><div class="body-s text-secondary-onlight">Added ability to view Motor seeds</div></div><div class="hidden"><div>Q1</div><div>28/3/2025</div><div>2025</div></div></div></div><div data-category="Data Library" data-quarter="Q1" data-year="2025" data-date="28/3/2025" data-version="3.0.0" role="listitem" class="releases-col-item w-dyn-item"><div class="releases-item"><div class="releases-item__tags"><div class="releases-item__tag"><div class="caption-s">28/3/2025</div></div><div class="releases-item__tag"><div class="caption-s">3.0.0</div></div><div class="releases-item__tag"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692421e2c42e7b86e24c47d5_ct-icon-2.svg" loading="lazy" alt="" class="icon-16"/><div class="caption-s">Data Library</div></div></div><div class="releases-item__title"><div class="body-s text-secondary-onlight">IGEN UI integrated</div></div><div class="hidden"><div>Q1</div><div>28/3/2025</div><div>2025</div></div></div></div><div data-category="Component generation" data-quarter="Q1" data-year="2025" data-date="28/3/2025" data-version="3.0.0" role="listitem" class="releases-col-item w-dyn-item"><div class="releases-item"><div class="releases-item__tags"><div class="releases-item__tag"><div class="caption-s">28/3/2025</div></div><div class="releases-item__tag"><div class="caption-s">3.0.0</div></div><div class="releases-item__tag"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692421e9507203e308ed0e7c_ct-icon-1.svg" loading="lazy" alt="" class="icon-16"/><div class="caption-s">Component generation</div></div></div><div class="releases-item__title"><div class="body-s text-secondary-onlight">TGEN: Enable pinion tooth changing</div></div><div class="hidden"><div>Q1</div><div>28/3/2025</div><div>2025</div></div></div></div><div data-category="Component generation" data-quarter="Q1" data-year="2025" data-date="28/3/2025" data-version="3.0.0" role="listitem" class="releases-col-item w-dyn-item"><div class="releases-item"><div class="releases-item__tags"><div class="releases-item__tag"><div class="caption-s">28/3/2025</div></div><div class="releases-item__tag"><div class="caption-s">3.0.0</div></div><div class="releases-item__tag"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692421e9507203e308ed0e7c_ct-icon-1.svg" loading="lazy" alt="" class="icon-16"/><div class="caption-s">Component generation</div></div></div><div class="releases-item__title"><div class="body-s text-secondary-onlight">TGEN: add single stage planetary and, enable pinion teeth editing, save some 1st stage data and display in UI</div></div><div class="hidden"><div>Q1</div><div>28/3/2025</div><div>2025</div></div></div></div><div data-category="Component generation" data-quarter="Q1" data-year="2025" data-date="28/3/2025" data-version="3.0.0" role="listitem" class="releases-col-item w-dyn-item"><div class="releases-item"><div class="releases-item__tags"><div class="releases-item__tag"><div class="caption-s">28/3/2025</div></div><div class="releases-item__tag"><div class="caption-s">3.0.0</div></div><div class="releases-item__tag"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692421e9507203e308ed0e7c_ct-icon-1.svg" loading="lazy" alt="" class="icon-16"/><div class="caption-s">Component generation</div></div></div><div class="releases-item__title"><div class="body-s text-secondary-onlight">TGEN - Additional signals displaying in TGEN app</div></div><div class="hidden"><div>Q1</div><div>28/3/2025</div><div>2025</div></div></div></div><div data-category="Component generation" data-quarter="Q1" data-year="2025" data-date="28/3/2025" data-version="3.0.0" role="listitem" class="releases-col-item w-dyn-item"><div class="releases-item"><div class="releases-item__tags"><div class="releases-item__tag"><div class="caption-s">28/3/2025</div></div><div class="releases-item__tag"><div class="caption-s">3.0.0</div></div><div class="releases-item__tag"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692421e9507203e308ed0e7c_ct-icon-1.svg" loading="lazy" alt="" class="icon-16"/><div class="caption-s">Component generation</div></div></div><div class="releases-item__title"><div class="body-s text-secondary-onlight">Cloning parts handles multi-select</div></div><div class="hidden"><div>Q1</div><div>28/3/2025</div><div>2025</div></div></div></div><div data-category="Component generation" data-quarter="Q1" data-year="2025" data-date="28/3/2025" data-version="3.0.0" role="listitem" class="releases-col-item w-dyn-item"><div class="releases-item"><div class="releases-item__tags"><div class="releases-item__tag"><div class="caption-s">28/3/2025</div></div><div class="releases-item__tag"><div class="caption-s">3.0.0</div></div><div class="releases-item__tag"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692421e9507203e308ed0e7c_ct-icon-1.svg" loading="lazy" alt="" class="icon-16"/><div class="caption-s">Component generation</div></div></div><div class="releases-item__title"><div class="body-s text-secondary-onlight">Added Motor scaling UI (Active Length)</div></div><div class="hidden"><div>Q1</div><div>28/3/2025</div><div>2025</div></div></div></div><div data-category="Component generation" data-quarter="Q1" data-year="2025" data-date="28/3/2025" data-version="3.0.0" role="listitem" class="releases-col-item w-dyn-item"><div class="releases-item"><div class="releases-item__tags"><div class="releases-item__tag"><div class="caption-s">28/3/2025</div></div><div class="releases-item__tag"><div class="caption-s">3.0.0</div></div><div class="releases-item__tag"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692421e9507203e308ed0e7c_ct-icon-1.svg" loading="lazy" alt="" class="icon-16"/><div class="caption-s">Component generation</div></div></div><div class="releases-item__title"><div class="body-s text-secondary-onlight">Add properties to torque converter initialise and disable add new</div></div><div class="hidden"><div>Q1</div><div>28/3/2025</div><div>2025</div></div></div></div><div data-category="Component generation" data-quarter="Q1" data-year="2025" data-date="28/3/2025" data-version="3.0.0" role="listitem" class="releases-col-item w-dyn-item"><div class="releases-item"><div class="releases-item__tags"><div class="releases-item__tag"><div class="caption-s">28/3/2025</div></div><div class="releases-item__tag"><div class="caption-s">3.0.0</div></div><div class="releases-item__tag"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692421e9507203e308ed0e7c_ct-icon-1.svg" loading="lazy" alt="" class="icon-16"/><div class="caption-s">Component generation</div></div></div><div class="releases-item__title"><div class="body-s text-secondary-onlight">Excel import/export functionality added for Materials</div></div><div class="hidden"><div>Q1</div><div>28/3/2025</div><div>2025</div></div></div></div><div data-category="Component generation" data-quarter="Q1" data-year="2025" data-date="28/3/2025" data-version="3.0.0" role="listitem" class="releases-col-item w-dyn-item"><div class="releases-item"><div class="releases-item__tags"><div class="releases-item__tag"><div class="caption-s">28/3/2025</div></div><div class="releases-item__tag"><div class="caption-s">3.0.0</div></div><div class="releases-item__tag"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692421e9507203e308ed0e7c_ct-icon-1.svg" loading="lazy" alt="" class="icon-16"/><div class="caption-s">Component generation</div></div></div><div class="releases-item__title"><div class="body-s text-secondary-onlight">Drive Cycle excel import added</div></div><div class="hidden"><div>Q1</div><div>28/3/2025</div><div>2025</div></div></div></div><div data-category="Component generation" data-quarter="Q1" data-year="2025" data-date="28/3/2025" data-version="3.0.0" role="listitem" class="releases-col-item w-dyn-item"><div class="releases-item"><div class="releases-item__tags"><div class="releases-item__tag"><div class="caption-s">28/3/2025</div></div><div class="releases-item__tag"><div class="caption-s">3.0.0</div></div><div class="releases-item__tag"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692421e9507203e308ed0e7c_ct-icon-1.svg" loading="lazy" alt="" class="icon-16"/><div class="caption-s">Component generation</div></div></div><div class="releases-item__title"><div class="body-s text-secondary-onlight">Clone data library item added</div></div><div class="hidden"><div>Q1</div><div>28/3/2025</div><div>2025</div></div></div></div><div data-category="Component generation" data-quarter="Q1" data-year="2025" data-date="28/3/2025" data-version="3.0.0" role="listitem" class="releases-col-item w-dyn-item"><div class="releases-item"><div class="releases-item__tags"><div class="releases-item__tag"><div class="caption-s">28/3/2025</div></div><div class="releases-item__tag"><div class="caption-s">3.0.0</div></div><div class="releases-item__tag"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697abe7/692421e9507203e308ed0e7c_ct-icon-1.svg" loading="lazy" alt="" class="icon-16"/><div class="caption-s">Component generation</div></div></div><div class="releases-item__title"><div class="body-s text-secondary-onlight">Xls imports of maps now support variable size data inputs</div></div><div class="hidden"><div>Q1</div><div>28/3/2025</div><div>2025</div></div></div></div></div></div><div class="releases-empty-state"><div class="releases-empty-state__upper"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697aba4/69244bc9a919459a0d35c3dd_file-x-v2.svg" loading="lazy" width="60" height="60" alt="" class="icon-48"/><div class="releases-empty-state__heading"><h3 class="header-h5">No releases found for the selected filters.</h3><p class="body-s text-secondary-onlight">
2199Try adjusting the date, release, or category options.</p></div></div><div class="releases-empty-state__lower"><a id="clear-all-filters" href="#" class="gr-text-link w-inline-block"><div><div class="control-m-s">Clear all filters</div></div><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697aba4/691fe9a45470bd6d1697abf0_arrow-right-gr.svg" loading="lazy" width="24" height="24" alt="arrow right" class="icon-20 mob-22"/></a></div></div></div><div id="w-node-ae2c251b-2e1d-1f01-c9cf-826af5aa410b-3ad15797" class="r-pagination"><button id="w-node-cfce2b84-0fa1-21eb-800f-7c4ea1baa8a2-3ad15797" type="button" class="r-pagination__btn r-pagination__prev"><div class="icon-20 w-embed"><svg width="100%" height="100%" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
2200  <path d="M15 10H5.10051M10 15L5 10L10 5" stroke="currentcolor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
2201</svg></div><div class="control-m">Previous</div></button><div id="w-node-_0322d391-cc17-5450-0063-76cd8e2d6e14-3ad15797" class="r-pagination__numbers"><button type="button" class="r-pagination__number is-active"><div class="control-s">1</div></button><button type="button" class="r-pagination__number"><div class="control-s">2</div></button><button type="button" class="r-pagination__number"><div class="control-s">3</div></button><div class="control-s r-pagination__dots">...</div><button type="button" class="r-pagination__number"><div class="control-s">11</div></button></div><button id="w-node-f5852fa7-7170-68d2-a561-c0f71a178c43-3ad15797" type="button" class="r-pagination__btn r-pagination__next"><div class="control-m">Next</div><div class="icon-20 w-embed"><svg width="100%" height="100%" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
2202  <path d="M5 10H14.8995M10 15L15 10L10 5" stroke="currentcolor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
2203</svg></div></button></div><div id="w-node-_39e563b7-d212-9914-9034-7b804adba693-3ad15797" class="quarter-content__right"><div class="quarter-content__img-border"><img src="https://cdn.prod.website-files.com/plugins/Basic/assets/placeholder.60f9b1840c.svg" loading="lazy" alt="" class="quarter-img"/></div></div></div></div></div></div></section><section class="s-faq"><div class="page-padding v2"><div class="container v2"><div class="wrap s-faq__wrap"><div class="s-faq-left"><div data-fadeIn="" class="heading s-faq__heading"><div class="caption"><div class="icon-22 w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 22 22" fill="none">
2204  <path d="M14.7333 3H7.26667C5.77319 3 5.02646 3 4.45603 3.28664C3.95426 3.53877 3.54631 3.9411 3.29065 4.43594C3 4.9985 3 5.73493 3 7.2078V11.9416C3 13.4145 3 14.1509 3.29065 14.7135C3.54631 15.2083 3.95426 15.6106 4.45603 15.8627C4.6746 15.9726 4.91906 16.0403 5.2215 16.0821C5.56459 16.1295 5.73613 16.1532 5.83105 16.1849C6.23103 16.3185 6.45824 16.5762 6.53689 16.9854C6.55556 17.0825 6.55556 17.2103 6.55556 17.466C6.55556 17.8843 6.55556 18.0935 6.59571 18.2337C6.75378 18.7857 7.33112 19.1111 7.8936 18.9651C8.03646 18.9281 8.21921 18.8219 8.58466 18.6095L11.8155 16.732C12.1887 16.5151 12.3753 16.4066 12.5741 16.33C12.7506 16.2619 12.9339 16.2126 13.121 16.1829C13.3318 16.1494 13.5484 16.1494 13.9816 16.1494H14.7333C16.2268 16.1494 16.9735 16.1494 17.544 15.8627C18.0457 15.6106 18.4537 15.2083 18.7094 14.7135C19 14.1509 19 13.4145 19 11.9416V7.2078C19 5.73493 19 4.9985 18.7094 4.43594C18.4537 3.9411 18.0457 3.53877 17.544 3.28664C16.9735 3 16.2268 3 14.7333 3Z" stroke="currentcolor" stroke-opacity="0.6" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2205</svg></div><p class="caption-l">FAQ</p></div><div class="spacer-16 mob-10"></div><h2 data-title-anim-gr="" class="header-h2">Learn more about ePOP</h2></div><div class="h-why-left__lower"><div class="h-why-left__lower-heading"><h3 class="header-h3">Still have questions?</h3><p class="body-m text-secondary-ondark">Still looking for answers? Explore the full FAQ to learn more about ePOP.</p></div><div class="spacer-32 mob-20"></div><a data-onLight="" data-wf--button-secondary--variant="mob-size-m" href="/faq" class="btn-secondary w-variant-b4989365-c8a2-09b4-5c11-6f978c9c2015 w-inline-block"><div class="control-l">Explore FAQ</div></a></div></div><div data-simple-dropdown-wrap="" class="s-faq-right"><div class="s-faq-col-wrap w-dyn-list"><div role="list" class="s-faq-col-list w-dyn-items"><div role="listitem" class="s-faq-col-item w-dyn-item"><div data-simple-dropdown="" class="s-faq-dropdown"><button type="button" data-simple-dropdown-toggle="" class="s-faq-dropdown__toggle"><h3 class="header-h5">What is ePOP?</h3><div data-dropdown-arrow="" class="s-faq-dropdown__arrow w-embed">
2205<svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2206  <path d="M6 9L12 15L18 9" stroke="currentcolor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
2207</svg></div></button><div data-simple-dropdown-list="" class="s-faq-dropdown__list"><div class="s-faq-dropdown__list-inner"><div class="faq-rich-text on-light w-richtext"><p>ePOP (Electrified Propulsion Optimisation Process) is a simulation-based approach that helps identify the optimal powertrain architecture for a given vehicle.</p><p>It works by virtually screening a wide range of electrified powertrain combinations early in the development cycle, ensuring they meet vehicle-level requirements without the need for costly prototypes.</p><p>By using ePOP, customers can quickly understand trade-offs between key attributes—such as efficiency, mass, and cost—for a specific application or family of vehicles.</p></div></div></div></div></div><div role="listitem" class="s-faq-col-item w-dyn-item"><div data-simple-dropdown="" class="s-faq-dropdown"><button type="button" data-simple-dropdown-toggle="" class="s-faq-dropdown__toggle"><h3 class="header-h5">How does ePOP work?</h3><div data-dropdown-arrow="" class="s-faq-dropdown__arrow w-embed"><svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2208  <path d="M6 9L12 15L18 9" stroke="currentcolor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
2209</svg></div></button><div data-simple-dropdown-list="" class="s-faq-dropdown__list"><div class="s-faq-dropdown__list-inner"><div class="faq-rich-text on-light w-richtext"><p>ePOP (Electrified Propulsion Optimisation Process) is a simulation-based approach that helps identify the optimal powertrain architecture for a given vehicle.</p><p>It works by virtually screening a wide range of electrified powertrain combinations early in the development cycle, ensuring they meet vehicle-level requirements without the need for costly prototypes.</p><p>By using ePOP, customers can quickly understand trade-offs between key attributes—such as efficiency, mass, and cost—for a specific application or family of vehicles.</p></div></div></div></div></div><div role="listitem" class="s-faq-col-item w-dyn-item"><div data-simple-dropdown="" class="s-faq-dropdown"><button type="button" data-simple-dropdown-toggle="" class="s-faq-dropdown__toggle"><h3 class="header-h5">Which vehicle types or topologies does it support?</h3><div data-dropdown-arrow="" class="s-faq-dropdown__arrow w-embed"><svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2210  <path d="M6 9L12 15L18 9" stroke="currentcolor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
2211</svg></div></button><div data-simple-dropdown-list="" class="s-faq-dropdown__list"><div class="s-faq-dropdown__list-inner"><div class="faq-rich-text on-light w-richtext"><p>ePOP (Electrified Propulsion Optimisation Process) is a simulation-based approach that helps identify the optimal powertrain architecture for a given vehicle.</p><p>It works by virtually screening a wide range of electrified powertrain combinations early in the development cycle, ensuring they meet vehicle-level requirements without the need for costly prototypes.</p><p>By using ePOP, customers can quickly understand trade-offs between key attributes—such as efficiency, mass, and cost—for a specific application or family of vehicles.</p></div></div></div></div></div><div role="listitem" class="s-faq-col-item w-dyn-item"><div data-simple-dropdown="" class="s-faq-dropdown"><button type="button" data-simple-dropdown-toggle="" class="s-faq-dropdown__toggle"><h3 class="header-h5">What simulation techniques or physics does it use?</h3><div data-dropdown-arrow="" class="s-faq-dropdown__arrow w-embed"><svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2212  <path d="M6 9L12 15L18 9" stroke="currentcolor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
2213</svg></div></button><div data-simple-dropdown-list="" class="s-faq-dropdown__list"><div class="s-faq-dropdown__list-inner"><div class="faq-rich-text on-light w-richtext"><p>ePOP (Electrified Propulsion Optimisation Process) is a simulation-based approach that helps identify the optimal powertrain architecture for a given vehicle.</p><p>It works by virtually screening a wide range of electrified powertrain combinations early in the development cycle, ensuring they meet vehicle-level requirements without the need for costly prototypes.</p><p>By using ePOP, customers can quickly understand trade-offs between key attributes—such as efficie
2213ncy, mass, and cost—for a specific application or family of vehicles.</p></div></div></div></div></div></div></div></div></div></div></div></section><section class="banner"><div class="page-padding v2"><div class="container v2"><div class="wrap banner__wrap in-solutions"><div class="heading banner__heading"><h2 class="header-h2">Bridge physics and decisions with <span data-title-anim-gr-onLight="">ZeBeyond</span> tools</h2><div class="spacer-24 mob-16"></div><p data-fadeIn="" class="body-l">Accelerate efficient, sustainable mobility with our tools — ePOP Concept, ePOP Pro, and Benchmarking. ZeBeyond enables smarter, faster design decisions.</p><div class="spacer-40 mob-32"></div><div class="banner-btns"><a data-wf--button--variant="mob-size-m" href="/book-a-demo" class="btn w-variant-b11c26b3-d5de-4476-b4e0-e9f9e87bdc79 w-inline-block"><div class="control-l">Book a demo</div></a><a data-onLight="True" data-wf--button-secondary--variant="mob-size-m" href="https://account.epop.tech/Account/Login" class="btn-secondary w-variant-b4989365-c8a2-09b4-5c11-6f978c9c2015 w-inline-block"><div class="control-l">Try demo</div></a></div></div></div></div></div></section></main><footer class="footer"><div class="page-padding in-footer"><div class="container in-footer"><div id="w-node-_3b60abea-ec9b-d492-8c50-a45fff5e68a9-ff5e68a6" class="footer-top"><a data-btn-to-top="" aria-label="scroll top top" title="scroll to top" href="#" class="btn-min w-inline-block"><div class="btn-top__arrow w-embed"><svg width="100%" height="100%" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
2214  <path d="M11 17V5.12061M17 11L11 5L5 11" stroke="currentcolor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
2215</svg></div></a></div></div></div><div class="page-padding mob-0"><div class="container"><div class="wrap footer__wrap"><div id="w-node-_3b60abea-ec9b-d492-8c50-a45fff5e68af-ff5e68a6" class="footer-info"><div class="f-line is-top"></div><div class="f-line is-bottom"></div><a aria-label="zebeyond logo" href="/" class="footer-logo w-inline-block"><img src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697aba4/691fe9a45470bd6d1697abd6_Logo.svg" loading="lazy" width="136" height="26" alt="" class="img-full-contain"/></a><p class="body-s text-tertiary-ondark">Optimize electrified powertrains faster. ePOP turns complex physics into clear, actionable insights for smarter, sustainable design decisions.</p><div class="social"><a title="linkedin" aria-label="linkedin" href="https://www.linkedin.com/company/zebeyond-ltd/" target="_blank" class="btn-min w-inline-block"><div class="btn-top__arrow w-embed"><svg width="100%" height="100%" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
2216  <path d="M6.61306 8.26149H3.26976V18.923H6.61306V8.26149Z" fill="currentcolor" />
2217  <path d="M15.6568 8.03026C15.5335 8.01486 15.4025 8.00715 15.2716 7.99945C13.3997 7.92242 12.3443 9.03171 11.9745 9.50932C11.8744 9.64028 11.8281 9.71731 11.8281 9.71731V8.29218H8.63122V18.9537H11.9745C11.9745 17.8675 11.9745 16.7891 11.9745 15.7029C11.9745 15.1174 11.9745 14.532 11.9745 13.9465C11.9745 13.2224 11.9206 12.452 12.2827 11.7895C12.5908 11.2349 13.1454 10.9576 13.7694 10.9576C15.6182 10.9576 15.6568 12.6292 15.6568 12.7833C15.6568 12.791 15.6568 12.7987 15.6568 12.7987V18.9999H19.0001V12.0437C19.0001 9.66339 17.7906 8.26137 15.6568 8.03026Z" fill="currentcolor" />
2218  <path d="M4.94127 6.88253C6.0134 6.88253 6.88254 6.01339 6.88254 4.94126C6.88254 3.86913 6.0134 3 4.94127 3C3.86913 3 3 3.86913 3 4.94126C3 6.01339 3.86913 6.88253 4.94127 6.88253Z" fill="currentcolor" />
2219</svg></div></a><a title="youtube" aria-label="youtube" href="https://www.youtube.com/@ZeBeyond" target="_blank" class="btn-min w-inline-block"><div class="btn-top__arrow w-embed"><svg width="100%" height="100%" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
2220  <path d="M19.8207 7.30505C19.8207 7.30505 19.6449 6.03069 19.1035 5.47112C18.418 4.73466 17.6516 4.73105 17.3 4.68773C14.7828 4.5 11.0035 4.5 11.0035 4.5H10.9965C10.9965 4.5 7.21719 4.5 4.7 4.68773C4.34844 4.73105 3.58203 4.73466 2.89648 5.47112C2.35508 6.03069 2.18281 7.30505 2.18281 7.30505C2.18281 7.30505 2 8.80325 2 10.2978V11.6986C2 13.1931 2.1793 14.6913 2.1793 14.6913C2.1793 14.6913 2.35508 15.9657 2.89297 16.5253C3.57852 17.2617 4.47852 17.2365 4.8793 17.3159C6.3207 17.4567 11 17.5 11 17.5C11 17.5 14.7828 17.4928 17.3 17.3087C17.6516 17.2653 18.418 17.2617 19.1035 16.5253C19.6449 15.9657 19.8207 14.6913 19.8207 14.6913C19.8207 14.6913 20 13.1967 20 11.6986V10.2978C20 8.80325 19.8207 7.30505 19.8207 7.30505ZM9.14023 13.3989
2220V8.20397L14.0023 10.8105L9.14023 13.3989Z" fill="currentcolor" />
2221</svg></div></a></div></div><div class="footer-links"><div class="footer-nav"><div class="header-h5">Solutions</div><ul role="list" class="footer-nav__list"><li class="footer-nav__list-item"><a data-tab-target="epop-concept" data-link-ondark="" href="/solutions#product-suite" class="footer-nav__link w-inline-block"><div class="control-m-s">ePOP Concept</div></a></li><li class="footer-nav__list-item"><a data-tab-target="epop-pro" data-link-ondark="" href="/solutions#product-suite" class="footer-nav__link w-inline-block"><div class="control-m-s">ePOP Pro</div></a></li><li class="footer-nav__list-item"><a data-tab-target="benchmarking" data-link-ondark="" href="/solutions#product-suite" class="footer-nav__link w-inline-block"><div class="control-m-s">Benchmarking</div></a></li><li class="footer-nav__list-item"><a data-link-ondark="" href="/case-studies" class="footer-nav__link w-inline-block"><div class="control-m-s">Case studies</div></a></li></ul></div><div class="footer-nav"><div class="header-h5">Company</div><ul role="list" class="footer-nav__list"><li class="footer-nav__list-item"><a data-link-ondark="" href="/about-us" class="footer-nav__link w-inline-block"><div class="control-m-s">About us</div></a></li><li class="footer-nav__list-item"><a data-link-ondark="" href="/careers" class="footer-nav__link w-inline-block"><div class="control-m-s">Careers</div></a></li><li class="footer-nav__list-item"><a data-link-ondark="" href="/newsroom" class="footer-nav__link w-inline-block"><div class="control-m-s">Newsroom</div></a></li><li class="footer-nav__list-item"><a data-link-ondark="" href="/faq" class="footer-nav__link w-inline-block"><div class="control-m-s">FAQ</div></a></li></ul></div><div class="footer-nav"><div class="header-h5">Connect</div><ul role="list" class="footer-nav__list"><li class="footer-nav__list-item"><a data-link-ondark="" href="https://account.epop.tech/Account/Login" class="footer-nav__link w-inline-block"><div class="control-m-s">Login</div></a></li><li class="footer-nav__list-item"><a data-link-ondark="" href="/contact-us" class="footer-nav__link w-inline-block"><div class="control-m-s">Contact us</div></a></li><li class="footer-nav__list-item"><a data-link-ondark="" href="/book-a-demo" class="footer-nav__link w-inline-block"><div class="control-m-s">Book a demo</div></a></li></ul></div></div><div id="w-node-_3b60abea-ec9b-d492-8c50-a45fff5e68f4-ff5e68a6" class="footer-offices"><address class="footer-office is-first"><div class="header-h5">UK Office (HQ)</div><p class="body-s text-tertiary-ondark">Unit B, Berrington Road<br/>Leamington Spa, CV31 1NB<br/>United Kingdom</p></address><address class="footer-office"><div class="header-h5">Sweden Office</div><p class="body-s text-tertiary-ondark">Redaregatan 48
<br/>25236 Helsingborg
<br/>Sweden</p></address></div><div class="newsletter"><div class="f-line is-bottom"></div><div data-email-form="" class="f-form-block w-form"><form id="footer-form" name="email-form" data-name="Email Form" method="get" class="f-form" data-wf-page-id="6920ceefd6e9590d3ad15797" data-wf-element-id="3b60abea-ec9b-d492-8c50-a45fff5e690f"><div class="newsletter__heading"><div class="header-h5">Join our newsletter</div><p class="body-s text-tertiary-ondark">Subscribe for updates on new features, releases, and insights.</p></div><div class="f-form-field"><div class="input-wrap"><input class="input on-dark f-input w-input" maxlength="256" name="Email" data-name="Email" placeholder="Enter your email" type="email" id="Email" required=""/></div><button type="submit" class="btn form-btn"><div class="control-m">Subscribe</div></button></div><div class="body-xs text-tertiary-ondark">By clicking Subscribe you&#x27;re confirming that you agree with our <a href="/privacy-policy" data-link-ondark="" class="text-link">Privacy Policy</a>.</div></form><div class="f-success-msg w-form-done"><div class="f-success-msg__inner"><div class="header-h5">Welcome to the ZeBeyond community!</div><div class="spacer-16 mob-12"></div><p class="body-s text-tertiary-ondark">We’re excited to share the latest updates and ideas with you.</p><div class="spacer-32 mob-24"></div><button type="button" aria-label="back to form" data-onLight="True" data-back-to-form="" class="btn size-m"><div class="control-l">Back to form</div></button></div></div><div class="w-form-fail"><div class="text-base">Oops! Something went wrong while submitting the form.</div></div></div></div><div id="w-node-_3b60abea-ec9b-d492-8c50-a45fff5e6921-ff5e68a6" class="footer-lower"><div class="body-xs text-tertiary-ondark">© <span data-footer-year="">2025</span> ZeBeyond. All rights reserved.</div><ul id="w-node-_3b60abea-ec9b-d492-8c50-a45fff5e6927-ff5e68a6" role="list" class="legal-list"><li class="legal-list__item"><a data-link-ondark="" href="/privacy-policy" class="footer-nav__link w-inline-block"><div class="control-s">Privacy Policy</div></a></li><li class="legal-list__item"><a data-link-ondark="" href="/terms-of-service" class="footer-nav__link w-inline-block"><div class="control-s">Terms of Service</div></a></li><li id="w-node-_3b60abea-ec9b-d492-8c50-a45fff5e6930-ff5e68a6" class="legal-list__item"><a data-link-ondark="" href="/imprint" class="footer-nav__link w-inline-block"><div class="control-s">Imprint</div></a></li></ul></div></div></div></div></footer></div>
2221<script src="https://d3e54v103j8qbb.cloudfront.net/js/jquery-3.5.1.min.dc5e7f18c8.js?site=691fe9a45470bd6d1697aba4" type="text/javascript" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
2221<script src="https://cdn.prod.website-files.com/691fe9a45470bd6d1697aba4/js/webflow.d5a4a26f.0f4301dffb2a26e8.js" type="text/javascript" integrity="sha384-vy8/cX2QS59//Ch4dIFw18Mtvo25Er+nFuF1/qryKvcDjPSmkfxdQ3TUDvTVL2nT" crossorigin="anonymous"></script>
2221<script src="https://cdn.prod.website-files.com/gsap/3.15.0/gsap.min.js" type="text/javascript"></script>
2221<script src="https://cdn.prod.website-files.com/gsap/3.15.0/ScrollTrigger.min.js" type="text/javascript"></script>
2221<script src="https://cdn.prod.website-files.com/gsap/3.15.0/ScrollToPlugin.min.js" type="text/javascript"></script>
2221<script src="https://cdn.prod.website-files.com/gsap/3.15.0/MotionPathPlugin.min.js" type="text/javascript"></script>
2221<script src="https://cdn.prod.website-files.com/gsap/3.15.0/DrawSVGPlugin.min.js" type="text/javascript"></script>
2221<script type="text/javascript">gsap.registerPlugin(ScrollTrigger,ScrollToPlugin,MotionPathPlugin,DrawSVGPlugin);</script>
2221<!-- JQ Validate Form -->
2222<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.21.0/jquery.validate.min.js" integrity="sha512-KFHXdr2oObHKI9w4Hv1XPKc898mE4kgYx58oqsc/JqqdLMDI4YjOLzom+EMlW8HFUd0QfjfAvxSL6sEq/a42fQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
2222
2223
2224<!-- Finsweet Attributes
2225<script async type="module"
2226        src="https://cdn.jsdelivr.net/npm/@finsweet/attributes@2/attributes.js"
2227        fs-scrolldisable
2228        ></script>
2228
2229        -->
2230
2231<!-- Base Code -->
2232<style>
2233  .c-form-field label {
2234    pointer-events: auto;
2235  }
2236</style>
2237<script>
2238  let mm = gsap.matchMedia();
2239
2240  window.addEventListener("DOMContentLoaded", () => {
2241
2242    // Smart nav
2243    // Mirror click for close button
2244    $("[data-close-menu]").click(function() {
2245      $(".w-nav-button").click();
2246    });
2247
2248    // Mirror click for overlay
2249    $(".nav__menu-wrap").click(function(e) {
2250      // We check that the click is on the overlay, and not on the menu inside
2251      if (e.target === this) {
2252        const $navbar = document.querySelector('.w-nav-menu');
2253        if ($navbar?.hasAttribute('data-nav-menu-open')) {
2254          $(".w-nav-button").click();
2255        }
2256      }
2257    });
2258
2259    // Smart nav
2260    (() => {
2261      const MOBILE_MAX = 479;
2262      const $header = document.querySelector('.header');
2263      const $navbar = document.querySelector('.w-nav-menu');
2264      const $body = document.querySelector('body');
2265
2266      if (!$navbar) return;
2267
2268      const isBurger = () => window.innerWidth <= MOBILE_MAX;
2269
2270      const syncMenuState = () => {
2271        const isOpen = $navbar.hasAttribute('data-nav-menu-open');
2272        const isMobile = isBurger();
2273        
2274        $body.style.overflow = isOpen ? "hidden" : "";
2275
2276        if (isMobile) {
2277          $header?.classList.toggle('menu-open', isOpen);
2278        } else {
2279          $header?.classList.remove('menu-open');
2280          // Close the menu when switching to the desktop
2281          const $btn = document.querySelector('.w-nav-button');
2282          if ($btn?.classList.contains('w--open')) $btn.click();
2283        }
2284      };
2285
2286      // Observe menu state changes
2287      const observer = new MutationObserver(syncMenuState);
2288      observer.observe($navbar, {
2289        attributes: true,
2290        attributeFilter: ['data-nav-menu-open'],
2291      });
2292
2293      // Resize handler with debouncing
2294      let resizeRAF;
2295      let lastIsBurger = isBurger();
2296
2297      const onResize = () => {
2298        if (resizeRAF) return;
2299        resizeRAF = requestAnimationFrame(() => {
2300          resizeRAF = null;
2301          const currentIsBurger = isBurger();
2302          if (currentIsBurger !== lastIsBurger) {
2303            lastIsBurger = currentIsBurger;
2304            syncMenuState();
2305          }
2306        });
2307      };
2308
2309      window.addEventListener('resize', onResize, { passive: true });
2310      window.addEventListener('orientationchange', onResize, { passive: true });
2311
2312      // Initial sync
2313      syncMenuState();
2314    })();
2315    // END Smart nav
2316    
2317
2318    // Get current year
2319    document.querySelectorAll('[data-footer-year]').forEach(div => {
2320      div.textContent = new Date().getFullYear();
2321    });
2322    // END Get current year -->
2323
2324    const btnToTop = document.querySelector('[data-btn-to-top]');
2325    if (btnToTop) {
2326      btnToTop.addEventListener('click', (e) => {
2327        e.preventDefault();
2328        window.scrollTo({
2329          top: 0,
2330          behavior: 'smooth'
2331        });
2332      });
2333    }
2334
2335  });
2336</script>
2336
2337
2338<script>
2339  function handleHeaderScroll() {
2340    const header = document.querySelector('.header');
2341
2342    if (!header) return;
2343
2344    const toggleClass = () => {
2345      if (window.scrollY > 1) {
2346        header.classList.add('is-scrolled');
2347      } else {
2348        header.classList.remove('is-scrolled');
2349      }
2350    };
2351
2352    toggleClass();
2353
2354    ScrollTrigger.create({
2355      start: 1,
2356      onUpdate: toggleClass,
2357    });
2358  }
2359  handleHeaderScroll();
2360
2361  window.addEventListener('load', function() { 
2362    // Form Handler - Universal version for [data-email-form]
2363    function initForms() {
2364      // Checking for jQuery and jQuery Validate
2365      if (typeof jQuery === 'undefined' || typeof jQuery.fn.validate === 'undefined') {
2366        console.error('jQuery or jQuery Validate are not included.');
2367        return;
2368      }
2369      const forms = document.querySelectorAll('[data-email-form] form');
2370      forms.forEach(form => {
2371        const emailInput = form.querySelector('input[name="Email"]');
2372        const submitBtn = form.querySelector('button[type="submit"]');
2373        const formWrapper = form.closest('[data-email-form]');
2374        const successMsg = formWrapper?.querySelector('.w-form-done');
2375        if (!emailInput || !submitBtn || !successMsg || !formWrapper) return;
2376        const $form = $(form);
2377
2378        // Getting a scroll anchor from a form attribute
2379        const scrollToAnchor = formWrapper.getAttribute('data-scroll-to');
2380
2381        // Таймер для автоматического скрытия
2382        let autoHideTimer = null;
2383
2384        // Init jQuery Validate
2385        $form.validate({
2386          rules: {
2387            Name: {
2388              required: true,
2389              minlength: 2,
2390            },
2391            Email: {
2392              required: true,
2393              email: true,
2394            },
2395            'Privacy-Policy': {
2396              required: true,
2397            },
2398          },
2399          messages: {
2400            name: {
2401              required: 'Please enter your full name',
2402              minlength: 'Name must be at least 2 characters',
2403            },
2404            Email: {
2405              required: 'Please enter your email',
2406              email: 'Please enter a valid email address',
2407            },
2408            'Privacy-Policy': {
2409              required: 'You must agree to continue',
2410            },
2411          },
2412          errorPlacement: function (error, element) {
2413            // Place errors after the field
2414            if (element.attr('type') === 'checkbox') {
2415              error.insertAfter(element.closest('.c-form-checkbox-field'));
2416            } else {
2417              error.insertAfter(element);
2418            }
2419          },
2420          highlight: function (element) {
2421            $(element).addClass('error-input');
2422          },
2423          unhighlight: function (element) {
2424            $(element).removeClass('error-input');
2425          },
2426        });
2427
2428        const clearForm = () => {
2429          form.querySelectorAll('input[type="text"], input[type="email"], input[type="number"], textarea, select').forEach(input => {
2430            input.value = '';
2431          });
2432
2433          // Clear the checkboxes and remove the Webflow class.
2434          form.querySelectorAll('input[type="checkbox"]').forEach((checkbox) => {
2435            checkbox.checked = false;
2436            // Removing the Webflow visual class from the checkbox
2437            const customCheckbox = checkbox.previousElementSibling;
2438            if (customCheckbox && customCheckbox.classList.contains('w-checkbox-input')) {
2439              customCheckbox.classList.remove('w--redirected-checked');
2440            }
2441          });
2442
2443          // Cleaning up validation errors
2444          $form.validate().resetForm();
2445          form.querySelectorAll('.error-input').forEach((el) => {
2446            el.classList.remove('error-input');
2447          });
2448        };
2449
2450        const hideSuccessMsg = () => {
2451          successMsg.style.display = 'none';
2452          form.style.display = 'block';
2453        };
2454
2455        // Scroll to anchor function
2456        const scrollToTarget = () => {
2457          if (scrollToAnchor) {
2458            const targetElement = document.querySelector(`[data-anchor="${scrollToAnchor}"]`);
2459
2460            if (targetElement) {
2461              $('html, body').animate({
2462                scrollTop: $(targetElement).offset().top - 0
2463              }, 300); 
2464            }
2465          }
2466        };
2467
2468        // Validate on submit
2469        form.addEventListener('submit', (e) => {
2470          if (!$form.valid()) {
2471            e.preventDefault();
2472            console.log('Форма содержит ошибки');
2473            return false;
2474          }
2475          console.log('Форма валидна, отправляется...');
2476          // The form will be submitted automatically via Webflow.
2477        });
2478
2479        // Back to form button
2480        const backBtn = successMsg.querySelector('[data-back-to-form]');
2481        if (backBtn) {
2482          backBtn.addEventListener('click', () => {
2483            // Отменяем автоматическое скрытие
2484            if (autoHideTimer) {
2485              clearTimeout(autoHideTimer);
2486              autoHideTimer = null;
2487            }
2488            hideSuccessMsg();
2489            clearForm();
2490          });
2491        }
2492
2493        // Watch for Webflow success message
2494        const observer = new MutationObserver((mutations) => {
2495          mutations.forEach((mutation) => {
2496            if (successMsg.style.display === 'block') {
2497              // Scroll to the anchor after successful sending
2498              setTimeout(() => {
2499                scrollToTarget();
2500              }, 300);
2501
2502              // Устанавливаем таймер автоматического скрытия
2503              autoHideTimer = setTimeout(() => {
2504                hideSuccessMsg();
2505                clearForm();
2506              }, 5000);
2507            }
2508          });
2509        });
2510        observer.observe(successMsg, {
2511          attributes: true,
2512          attributeFilter: ['style']
2513        });
2514      });
2515    }
2516    initForms();
2517  });
2518
2519  function simpleFadeIn() {
2520    let targets = gsap.utils.toArray('[data-fadeIn]');
2521    targets.forEach((item) => {
2522      let delayAnim = parseFloat(item.getAttribute('data-anim-delay')) || 0;
2523
2524      gsap.from(item, {
2525        scrollTrigger: {
2526          trigger: item,
2527          start: 'top 95%',
2528          //invalidateOnRefresh: true,
2529          //refreshPriority: -1,
2530          //end: 'bottom 95%',
2531          //scrub: true,
2532          //markers: true,
2533        },
2534        opacity: 0,
2535        duration: 1,
2536        delay: delayAnim,
2537      });
2538    });
2539  }
2540  simpleFadeIn();
2541
2542  function staggerFadeIn() {
2543    const sections = document.querySelectorAll('[data-stagger-fd-wrap]');
2544
2545    sections.forEach((section) => {
2546      const cards = section.querySelectorAll('[data-stagger-fd-target]');
2547
2548      if (cards.length === 0) return;
2549
2550      gsap.from(cards, {
2551        scrollTrigger: {
2552          trigger: section,
2553          start: 'top 85%',
2554          //invalidateOnRefresh: true,
2555          //refreshPriority: -1,
2556          // toggleActions: 'play none none none',
2557        },
2558        opacity: 0,
2559        stagger: 0.15,
2560        duration: 0.8,
2561        ease: 'power2.out',
2562      });
2563    });
2564  }
2565  staggerFadeIn();
2566
2567</script>
2567<!-- Splide JS -->
2568<script src="https://cdn.jsdelivr.net/npm/@splidejs/[email protected]/dist/js/splide.min.js"></script>
2568
2569<!-- The main script for all odometers -->
2570<script src="https://github.hubspot.com/odometer/odometer.js"></script>
2570
2571
2572<script>
2573  // ---------------------------------------------------------------------------------------------------------- RELEASE ------------------------------------------------------------------------------------------------------------------------
2574  (function () {
2575    'use strict';
2576
2577    // 1️⃣ DOM Elements & Variables
2578    const yearRadios = document.querySelectorAll('[name="year-radio"]');
2579    const quarterRadios = document.querySelectorAll('[name="quarter-radio"]');
2580    const quarterItems = document.querySelectorAll('.quarter-col-item');
2581    const releaseItems = document.querySelectorAll('.releases-col-item');
2582    const selectedYearLabel = document.getElementById('selected-year');
2583    const quarterTitle = document.getElementById('quarter-title');
2584    const selectedDateLabel = document.getElementById('selected-date');
2585    const selectedVersionLabel = document.getElementById('selected-version');
2586    const selectedCategoryLabel = document.getElementById('selected-category');
2587
2588    // 2️⃣ State
2589    let currentYear = null;
2590    let currentQuarter = null;
2591    let currentFilters = { date: '', version: '', category: '' };
2592
2593    // 3️⃣ Pagination Settings
2594    const itemsPerPage = 4;
2595    let currentPage = 1;
2596    let totalPages = 1;
2597    const paginationContainer = document.querySelector('.r-pagination__numbers');
2598    const prevBtn = document.querySelector('.r-pagination__prev');
2599    const nextBtn = document.querySelector('.r-pagination__next');
2600
2601    // 4️⃣ Helper Functions
2602
2603    // Helper: Parse date from DD/MM/YYYY format
2604    function parseDate(dateString) {
2605      const parts = dateString.split('/');
2606      return new Date(parts[2], parts[1] - 1, parts[0]);
2607    }
2608
2609    // Helper: Compare version strings
2610    function compareVersions(a, b) {
2611      const partsA = a.split('.').map(Number);
2612      const partsB = b.split('.').map(Number);
2613
2614      for (let i = 0; i < Math.max(partsA.length, partsB.length); i++) {
2615        const numA = partsA[i] || 0;
2616        const numB = partsB[i] || 0;
2617
2618        if (numA !== numB) {
2619          return numA - numB;
2620        }
2621      }
2622
2623      return 0;
2624    }
2625
2626    // Helper: Create filter option element by cloning template
2627    function createFilterOption(type, value, text) {
2628      // Determine which template to search for depending on the type
2629      let templateValue = 'All';
2630      if (type === 'category') {
2631        templateValue = 'All categories';
2632      }
2633
2634      // Find a template
2635      const template = document.querySelector(
2636        `[data-filter-type="${type}"][data-filter-value="${templateValue}"]`
2637      );
2638
2639      if (!template) {
2640        // Fallback: If there is no template, create a simple link
2641        const link = document.createElement('a');
2642        link.href = '#';
2643        link.className = 'filter-option w-inline-block'; 
2644        link.setAttribute('data-filter-type', type);
2645        link.setAttribute('data-filter-value', value);
2646
2647        // Create a structure as in the template
2648        const textDiv = document.createElement('div');
2649        textDiv.className = 'caption-s';
2650        textDiv.textContent = text;
2651        link.appendChild(textDiv);
2652
2653        const iconDiv = document.createElement('div');
2654        iconDiv.className = 'filter-option__icon w-embed';
2655        iconDiv.innerHTML =
2656          '<svg width="100%" height="100%" viewBox="0 0 16 16" fill="none"><path d="M2 8L6 12L14 4" stroke="currentcolor" stroke-linecap="round" stroke-linejoin="round"></path></svg>';
2657        link.appendChild(iconDiv);
2658
2659        return link;
2660      }
2661
2662      // Clone template
2663      const clone = template.cloneNode(true);
2664
2665      // Remove the is-active class from the clone
2666      clone.classList.remove('is-active');
2667
2668      // Update data attribute and text
2669      clone.setAttribute('data-filter-value', value);
2670
2671      // Update text inside
2672      const textElement = clone.querySelector('.caption-s') || clone;
2673      if (textElement.tagName === 'DIV') {
2674        textElement.textContent = text;
2675      } else {
2676        clone.childNodes[0].textContent = text;
2677      }
2678
2679      return clone;
2680    }
2681
2682    // 5️⃣ Filter Functions
2683
2684    // Helper: Get filtered releases
2685    function getFilteredReleases() {
2686      return Array.from(releaseItems).filter((item) => {
2687        const itemYear = item.getAttribute('data-year');
2688        const itemQuarter = item.getAttribute('data-quarter');
2689        const itemDate = item.getAttribute('data-date');
2690        const itemVersion = item.getAttribute('data-version');
2691        const itemCategory = item.getAttribute('data-category');
2692
2693        let show = itemYear === currentYear && itemQuarter === currentQuarter;
2694
2695        if (
2696          show &&
2697          currentFilters.date &&
2698          currentFilters.date !== 'All' &&
2699          itemDate !== currentFilters.date
2700        ) {
2701          show = false;
2702        }
2703
2704        if (
2705          show &&
2706          currentFilters.version &&
2707          currentFilters.version !== 'All' &&
2708          itemVersion !== currentFilters.version
2709        ) {
2710          show = false;
2711        }
2712
2713        if (
2714          show &&
2715          currentFilters.category &&
2716          currentFilters.category !== 'All categories' &&
2717          itemCategory !== currentFilters.category
2718        ) {
2719          show = false;
2720        }
2721
2722        return show;
2723      });
2724    }
2725
2726    // Populate filter options dynamically
2727    function populateFilters() {
2728      const dates = new Set();
2729      const versions = new Set();
2730      const categories = new Set();
2731
2732      releaseItems.forEach((item) => {
2733        const itemYear = item.getAttribute('data-year');
2734        const itemQuarter = item.getAttribute('data-quarter');
2735
2736        if (itemYear === currentYear && itemQuarter === currentQuarter) {
2737          const date = item.getAttribute('data-date');
2738          const version = item.getAttribute('data-version');
2739          const category = item.getAttribute('data-category');
2740
2741          if (date) dates.add(date);
2742          if (version) versions.add(version);
2743          if (category) categories.add(category);
2744        }
2745      });
2746
2747      // Sort arrays
2748      const sortedDates = Array.from(dates).sort((a, b) => {
2749        const dateA = parseDate(a);
2750        const dateB = parseDate(b);
2751        return dateA - dateB;
2752      });
2753
2754      const sortedVersions = Array.from(versions).sort(compareVersions);
2755
2756      const sortedCategories = Array.from(categories).sort((a, b) => {
2757        return a.localeCompare(b);
2758      });
2759
2760      // Date options
2761      const dateContainer = document.getElementById('date-options');
2762      if (dateContainer) {
2763        const staticAllOption = dateContainer.querySelector(
2764          '[data-filter-value="All"]'
2765        );
2766
2767        // ✅ Clone BEFORE cleaning
2768        const clonedAllOption = staticAllOption
2769        ? staticAllOption.cloneNode(true)
2770        : null;
2771
2772        dateContainer.innerHTML = '';
2773
2774        if (clonedAllOption) dateContainer.appendChild(clonedAllOption);
2775
2776        sortedDates.forEach((date) => {
2777          dateContainer.appendChild(createFilterOption('date', date, date));
2778        });
2779      }
2780
2781      // Version options
2782      const versionContainer = document.getElementById('version-options');
2783      if (versionContainer) {
2784        const staticAllOption = versionContainer.querySelector(
2785          '[data-filter-value="All"]'
2786        );
2787
2788        // ✅ Clone BEFORE cleaning
2789        const clonedAllOption = staticAllOption
2790        ? staticAllOption.cloneNode(true)
2791        : null;
2792
2793        versionContainer.innerHTML = '';
2794
2795        if (clonedAllOption) versionContainer.appendChild(clonedAllOption);
2796
2797        sortedVersions.forEach((version) => {
2798          versionContainer.appendChild(
2799            createFilterOption('version', version, version)
2800          );
2801        });
2802      }
2803
2804      // Category options
2805      const categoryContainer = document.getElementById('category-options');
2806      if (categoryContainer) {
2807        const staticAllOption = categoryContainer.querySelector(
2808          '[data-filter-value="All categories"]'
2809        );
2810
2811        const clonedAllOption = staticAllOption
2812        ? staticAllOption.cloneNode(true)
2813        : null;
2814
2815        categoryContainer.innerHTML = '';
2816
2817        if (clonedAllOption) categoryContainer.appendChild(clonedAllOption);
2818
2819        sortedCategories.forEach((category) => {
2820          categoryContainer.appendChild(
2821            createFilterOption('category', category, category)
2822          );
2823        });
2824      }
2825
2826      attachFilterHandlers();
2827    }
2828
2829    // Attach click handlers to filter options
2830    function attachFilterHandlers() {
2831      const filterOptions = document.querySelectorAll('.filter-option');
2832
2833      filterOptions.forEach((option) => {
2834        option.addEventListener('click', function (e) {
2835          e.preventDefault();
2836
2837          const filterType = this.getAttribute('data-filter-type');
2838          const filterValue = this.getAttribute('data-filter-value');
2839
2840          // Remove the active class from all options of this type
2841          const sameTypeOptions = document.querySelectorAll(
2842            `[data-filter-type="${filterType}"]`
2843          );
2844          sameTypeOptions.forEach((opt) => opt.classList.remove('is-active'));
2845
2846          // Add an active class to the selected option
2847          this.classList.add('is-active');
2848
2849          // Update current filter
2850          currentFilters[filterType] = filterValue;
2851
2852          // Update label
2853          let labelText = filterValue;
2854          if (
2855            filterType === 'category' &&
2856            (!filterValue || filterValue === 'All categories')
2857          ) {
2858            labelText = 'All categories';
2859          } else if (!filterValue || filterValue === 'All') {
2860            labelText = 'All';
2861          }
2862
2863          if (filterType === 'date' && selectedDateLabel) {
2864            selectedDateLabel.textContent = labelText;
2865          } else if (filterType === 'version' && selectedVersionLabel) {
2866            selectedVersionLabel.textContent = labelText;
2867          } else if (filterType === 'category' && selectedCategoryLabel) {
2868            selectedCategoryLabel.textContent = labelText;
2869          }
2870
2871          const $parentDropdown = $(this).closest('[data-simple-dropdown]');
2872          if ($parentDropdown.length) {
2873            const $dropdownList = $parentDropdown.find(
2874              '[data-simple-dropdown-list]'
2875            );
2876            const $dropdownToggle = $parentDropdown.find(
2877              '[data-simple-dropdown-toggle]'
2878            );
2879
2880            $parentDropdown.removeClass('active');
2881            $dropdownToggle.attr('aria-expanded', 'false');
2882            $dropdownList.attr('aria-hidden', 'true');
2883            $dropdownList.slideUp('fast');
2884          }
2885
2886          // Apply filters
2887          applyAllFilters();
2888        });
2889      });
2890    }
2891
2892    // Apply all filters
2893    function applyAllFilters() {
2894      let visibleCount = 0;
2895
2896      releaseItems.forEach((item) => {
2897        const itemYear = item.getAttribute('data-year');
2898        const itemQuarter = item.getAttribute('data-quarter');
2899        const itemDate = item.getAttribute('data-date');
2900        const itemVersion = item.getAttribute('data-version');
2901        const itemCategory = item.getAttribute('data-category');
2902
2903        let show = itemYear === currentYear && itemQuarter === currentQuarter;
2904
2905        if (
2906          show &&
2907          currentFilters.date &&
2908          currentFilters.date !== 'All' &&
2909          itemDate !== currentFilters.date
2910        ) {
2911          show = false;
2912        }
2913
2914        if (
2915          show &&
2916          currentFilters.version &&
2917          currentFilters.version !== 'All' &&
2918          itemVersion !== currentFilters.version
2919        ) {
2920          show = false;
2921        }
2922
2923        if (
2924          show &&
2925          currentFilters.category &&
2926          currentFilters.category !== 'All categories' &&
2927          itemCategory !== currentFilters.category
2928        ) {
2929          show = false;
2930        }
2931
2932        item.style.display = show ? 'block' : 'none';
2933        if (show) visibleCount++;
2934      });
2935
2936      console.log(`✅ Visible releases: ${visibleCount}`);
2937
2938      currentPage = 1; // Reset to first page when filtering
2939      updatePagination();
2940    }
2941
2942    // 6️⃣ Pagination Functions
2943    // Calculate total pages and render pagination
2944    function updatePagination() {
2945      const visibleReleases = getFilteredReleases();
2946
2947      totalPages = Math.ceil(visibleReleases.length / itemsPerPage);
2948      currentPage = Math.min(currentPage, totalPages || 1);
2949
2950      console.log(
2951        `📊 Total: ${visibleReleases.length} releases, ${totalPages} pages`
2952      );
2953
2954      renderPaginationNumbers();
2955      showCurrentPage();
2956      updatePaginationButtons();
2957    }
2958
2959    // Render pagination numbers
2960    function renderPaginationNumbers() {
2961      if (!paginationContainer) return;
2962
2963      paginationContainer.innerHTML = '';
2964
2965      if (totalPages <= 1) {
2966        // Hide pagination if there is only one page
2967        document
2968          .querySelector('.r-pagination')
2969          ?.style.setProperty('display', 'none');
2970        return;
2971      }
2972
2973      document.querySelector('.r-pagination')?.style.removeProperty('display');
2974
2975      const pagesToShow = [];
2976
2977      // Page display logic: 1 2 3 ... 11
2978      if (totalPages <= 7) {
2979        // Show all pages if there are few of them
2980        for (let i = 1; i <= totalPages; i++) {
2981          pagesToShow.push(i);
2982        }
2983      } else {
2984        // Умная пагинация
2985        if (currentPage <= 3) {
2986          // Start: 1 2 3 4 ... 11
2987          pagesToShow.push(1, 2, 3, 4, '...', totalPages);
2988        } else if (currentPage >= totalPages - 2) {
2989          // End: 1 ... 8 9 10 11
2990          pagesToShow.push(
2991            1,
2992            '...',
2993            totalPages - 3,
2994            totalPages - 2,
2995            totalPages - 1,
2996            totalPages
2997          );
2998        } else {
2999          // Middle: 1 ... 5 6 7 ... 11
3000          pagesToShow.push(
3001            1,
3002            '...',
3003            currentPage - 1,
3004            currentPage,
3005            currentPage + 1,
3006            '...',
3007            totalPages
3008          );
3009        }
3010      }
3011
3012      // Create buttons
3013      pagesToShow.forEach((page) => {
3014        if (page === '...') {
3015          const dots = document.createElement('span');
3016          dots.className = 'r-pagination__dots';
3017          dots.textContent = '...';
3018          paginationContainer.appendChild(dots);
3019        } else {
3020          const btn = document.createElement('button');
3021          btn.className = 'r-pagination__number';
3022          btn.textContent = page;
3023
3024          if (page === currentPage) {
3025            btn.classList.add('is-active');
3026          }
3027
3028          btn.addEventListener('click', () => {
3029            currentPage = page;
3030            showCurrentPage();
3031            updatePaginationButtons();
3032            renderPaginationNumbers();
3033            scrollToReleases();
3034          });
3035
3036          paginationContainer.appendChild(btn);
3037        }
3038      });
3039    }
3040
3041    // Show current page items
3042    function showCurrentPage() {
3043      const visibleReleases = getFilteredReleases();
3044
3045      const startIndex = (currentPage - 1) * itemsPerPage;
3046      const endIndex = startIndex + itemsPerPage;
3047
3048      // Hide all
3049      releaseItems.forEach((item) => {
3050        item.style.display = 'none';
3051      });
3052
3053      // Show current page only
3054      visibleReleases.forEach((item, index) => {
3055        if (index >= startIndex && index < endIndex) {
3056          item.style.display = 'block';
3057        }
3058      });
3059
3060      /*
3061		console.log(
3062			`📄 Page ${currentPage}: showing ${Math.min(itemsPerPage, visibleReleases.length - startIndex)} of ${visibleReleases.length} releases`
3063		);
3064    */
3065    }
3066
3067    // Update prev/next buttons
3068    function updatePaginationButtons() {
3069      if (prevBtn) {
3070        prevBtn.disabled = currentPage === 1;
3071      }
3072
3073      if (nextBtn) {
3074        nextBtn.disabled = currentPage === totalPages;
3075      }
3076    }
3077
3078    // Scroll to releases section
3079    function scrollToReleases() {
3080      const releasesSection = document.querySelector('.releases-col-wrap');
3081      if (releasesSection) {
3082        releasesSection.scrollIntoView({ behavior: 'smooth', block: 'center' });
3083      }
3084    }
3085
3086    // 7️⃣ Quarter Functions
3087    // Update quarter title
3088    function updateQuarterTitle(quarter, year) {
3089      if (quarterTitle) {
3090        quarterTitle.textContent = `${quarter} / ${year} releases`;
3091      }
3092    }
3093
3094    // Update quarter image
3095    function updateQuarterImage(year, quarter) {
3096      // Find the active quarter-col-item
3097      const activeQuarterItem = Array.from(quarterItems).find((item) => {
3098        const itemYear = item.getAttribute('data-year');
3099        const radio = item.querySelector(`[data-filter-quarter="${quarter}"]`);
3100        return itemYear === year && radio;
3101      });
3102
3103      if (!activeQuarterItem) {
3104        console.log('⚠️ Active quarter item not found');
3105        return;
3106      }
3107
3108      // Find the image inside the .hidden div
3109      const sourceImg = activeQuarterItem.querySelector('.hidden .quarter-img');
3110
3111      // Find the target image
3112      const targetImg = document.querySelector(
3113        '.quarter-content__right .quarter-img'
3114      );
3115
3116      if (sourceImg && targetImg) {
3117        //console.log('🖼️ Updating image:', sourceImg.src);
3118
3119        // Copy all attributes
3120        targetImg.src = sourceImg.src;
3121        targetImg.alt = sourceImg.alt || '';
3122        targetImg.srcset = sourceImg.srcset || '';
3123        targetImg.sizes = sourceImg.sizes || '';
3124        targetImg.loading = sourceImg.loading || 'lazy';
3125
3126        // Show image
3127        targetImg.style.display = 'block';
3128      } else {
3129        console.log(
3130          '⚠️ Image not found. sourceImg:',
3131          sourceImg,
3132          'targetImg:',
3133          targetImg
3134        );
3135      }
3136    }
3137
3138    function filterQuarters(year) {
3139      let firstVisibleQuarter = null;
3140
3141      quarterItems.forEach((item) => {
3142        const itemYear = item.getAttribute('data-year');
3143
3144        if (itemYear === year) {
3145          item.style.display = 'block';
3146          if (!firstVisibleQuarter) {
3147            firstVisibleQuarter = item.querySelector('input[type="radio"][name="quarter-radio"]');
3148          }
3149        } else {
3150          item.style.display = 'none';
3151        }
3152      });
3153
3154      if (firstVisibleQuarter && !firstVisibleQuarter.checked) {
3155        firstVisibleQuarter.checked = true;
3156        const quarter = firstVisibleQuarter.getAttribute('data-filter-quarter');
3157        currentQuarter = quarter;
3158        //console.log('📊 Initialized quarter:', quarter);
3159
3160        if (year && quarter) {
3161          updateQuarterTitle(quarter, year);
3162          filterReleases(year, quarter);
3163        }
3164      }
3165    }
3166
3167    // Filter releases by year and quarter
3168    function filterReleases(year, quarter) {
3169      currentYear = year;
3170      currentQuarter = quarter;
3171
3172      // Reset additional filters
3173      currentFilters = { date: '', version: '', category: '' };
3174      if (selectedDateLabel) selectedDateLabel.textContent = 'All';
3175      if (selectedVersionLabel) selectedVersionLabel.textContent = 'All';
3176      if (selectedCategoryLabel)
3177        selectedCategoryLabel.textContent = 'All categories';
3178
3179      populateFilters();
3180
3181      document.querySelectorAll('.filter-option').forEach((opt) => {
3182        opt.classList.remove('is-active');
3183      });
3184
3185      // For date and version - "All"
3186      document
3187        .querySelectorAll(
3188        '.filter-option[data-filter-type="date"][data-filter-value="All"], .filter-option[data-filter-type="version"][data-filter-value="All"]'
3189      )
3190        .forEach((opt) => {
3191        opt.classList.add('is-active');
3192      });
3193
3194      // For category - "All categories"
3195      document
3196        .querySelectorAll(
3197        '.filter-option[data-filter-type="category"][data-filter-value="All categories"]'
3198      )
3199        .forEach((opt) => {
3200        opt.classList.add('is-active');
3201      });
3202
3203      applyAllFilters();
3204      updateQuarterImage(year, quarter);
3205    }
3206
3207    // 8️⃣ Event Handlers
3208    // Year radio handlers
3209    yearRadios.forEach((radio) => {
3210      radio.addEventListener('change', function () {
3211        currentYear = this.getAttribute('data-filter-year');
3212        //console.log('📅 Year changed:', currentYear);
3213
3214        if (selectedYearLabel) {
3215          selectedYearLabel.textContent = currentYear;
3216        }
3217
3218        filterQuarters(currentYear);
3219      });
3220    });
3221
3222    // Quarter radio handlers
3223    quarterRadios.forEach((radio) => {
3224      radio.addEventListener('change', function () {
3225        currentQuarter = this.getAttribute('data-filter-quarter');
3226        //console.log('📊 Quarter changed:', currentQuarter);
3227
3228        if (currentYear && currentQuarter) {
3229          updateQuarterTitle(currentQuarter, currentYear);
3230          filterReleases(currentYear, currentQuarter);
3231          updateQuarterImage(currentYear, currentQuarter);
3232        }
3233      });
3234    });
3235
3236    // Clear all filters button
3237    const clearFiltersBtn = document.getElementById('clear-all-filters');
3238    if (clearFiltersBtn) {
3239      clearFiltersBtn.addEventListener('click', function (e) {
3240        e.preventDefault();
3241
3242        // Reset filters
3243        currentFilters = { date: '', version: '', category: '' };
3244        if (selectedDateLabel) selectedDateLabel.textContent = 'All';
3245        if (selectedVersionLabel) selectedVersionLabel.textContent = 'All';
3246        if (selectedCategoryLabel)
3247          selectedCategoryLabel.textContent = 'All categories';
3248
3249        // Remove active classes
3250        document.querySelectorAll('.filter-option').forEach((opt) => {
3251          opt.classList.remove('is-active');
3252        });
3253
3254        // For date and version - "All"
3255        document
3256          .querySelectorAll(
3257          '.filter-option[data-filter-type="date"][data-filter-value="All"], .filter-option[data-filter-type="version"][data-filter-value="All"]'
3258        )
3259          .forEach((opt) => {
3260          opt.classList.add('is-active');
3261        });
3262
3263        // For category - "All categories"
3264        document
3265          .querySelectorAll(
3266          '.filter-option[data-filter-type="category"][data-filter-value="All categories"]'
3267        )
3268          .forEach((opt) => {
3269          opt.classList.add('is-active');
3270        });
3271
3272        applyAllFilters();
3273
3274        //console.log('🔄 Filters cleared');
3275      });
3276    }
3277
3278    // Prev/Next button handlers
3279    if (prevBtn) {
3280      prevBtn.addEventListener('click', () => {
3281        if (currentPage > 1) {
3282          currentPage--;
3283          showCurrentPage();
3284          updatePaginationButtons();
3285          renderPaginationNumbers();
3286          scrollToReleases();
3287        }
3288      });
3289    }
3290
3291    if (nextBtn) {
3292      nextBtn.addEventListener('click', () => {
3293        if (currentPage < totalPages) {
3294          currentPage++;
3295          showCurrentPage();
3296          updatePaginationButtons();
3297          renderPaginationNumbers();
3298          scrollToReleases();
3299        }
3300      });
3301    }
3302
3303    // 9️⃣ Initialize
3304    function init() {
3305      // ✅ Найти все года и отсортировать по убыванию (от нового к старому)
3306      const sortedYearRadios = Array.from(yearRadios).sort((a, b) => {
3307        const yearA = parseInt(a.getAttribute('data-filter-year'));
3308        const yearB = parseInt(b.getAttribute('data-filter-year'));
3309        return yearB - yearA; // От большего к меньшему: 2026, 2025, 2024...
3310      });
3311
3312      // Взять первый (самый новый год)
3313      const selectedYearRadio = sortedYearRadios[0];
3314
3315      if (selectedYearRadio) {
3316        // Set checked manually
3317        selectedYearRadio.checked = true;
3318
3319        // Get year
3320        currentYear = selectedYearRadio.getAttribute('data-filter-year');
3321
3322        // Update label
3323        if (selectedYearLabel) {
3324          selectedYearLabel.textContent = currentYear;
3325        }
3326
3327        // Call filterQuarters directly
3328        filterQuarters(currentYear);
3329      }
3330    }
3331
3332
3333    init();
3334  })();
3335
3336  // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
3337</script>
3337
3338
3339</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.