{"id":14,"date":"2026-07-06T21:43:21","date_gmt":"2026-07-06T21:43:21","guid":{"rendered":"https:\/\/digitalsolution.is\/?page_id=14"},"modified":"2026-07-24T20:03:03","modified_gmt":"2026-07-24T20:03:03","slug":"elementor-14","status":"publish","type":"page","link":"https:\/\/digitalsolution.is\/","title":{"rendered":"Elementor #14"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"14\" class=\"elementor elementor-14\">\n\t\t\t\t<div class=\"elementor-element elementor-element-243e7bb e-con-full e-flex e-con e-parent\" data-id=\"243e7bb\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-04b93bc elementor-widget__width-inherit elementor-absolute elementor-widget elementor-widget-html\" data-id=\"04b93bc\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_position&quot;:&quot;absolute&quot;}\" data-widget_type=\"html.default\">\n\t\t\t\t\t\r\n<!doctype html>\r\n<html lang=\"is\">\r\n<head>\r\n\t<meta charset=\"UTF-8\">\r\n\t<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\r\n\t<link rel=\"profile\" href=\"https:\/\/gmpg.org\/xfn\/11\">\r\n\t<title>DigitalSolution.is<\/title>\r\n<meta name='robots' content='max-image-preview:large' \/>\r\n<link rel=\"alternate\" type=\"application\/rss+xml\" title=\"DigitalSolution.is &raquo; Kana\u0142 z wpisami\" href=\"https:\/\/digitalsolution.is\/?feed=rss2\" \/>\r\n<link rel=\"alternate\" type=\"application\/rss+xml\" title=\"DigitalSolution.is &raquo; Kana\u0142 z komentarzami\" href=\"https:\/\/digitalsolution.is\/?feed=comments-rss2\" \/>\r\n<link rel=\"alternate\" title=\"oEmbed (JSON)\" type=\"application\/json+oembed\" href=\"https:\/\/digitalsolution.is\/index.php?rest_route=%2Foembed%2F1.0%2Fembed&#038;url=https%3A%2F%2Fdigitalsolution.is%2F\" \/>\r\n<link rel=\"alternate\" title=\"oEmbed (XML)\" type=\"text\/xml+oembed\" href=\"https:\/\/digitalsolution.is\/index.php?rest_route=%2Foembed%2F1.0%2Fembed&#038;url=https%3A%2F%2Fdigitalsolution.is%2F&#038;format=xml\" \/>\r\n<style id=\"wp-img-auto-sizes-contain-inline-css\">\r\nimg:is([sizes=auto i],[sizes^=\"auto,\" i]){contain-intrinsic-size:3000px 1500px}\r\n\/*# sourceURL=wp-img-auto-sizes-contain-inline-css *\/\r\n<\/style>\r\n\r\n<link rel='stylesheet' id='fluentform-elementor-widget-css' href='https:\/\/digitalsolution.is\/wp-content\/plugins\/fluentform\/assets\/css\/fluent-forms-elementor-widget.css?ver=6.2.5' media='all' \/>\r\n<style id=\"wp-emoji-styles-inline-css\">\r\n\r\n\timg.wp-smiley, img.emoji {\r\n\t\tdisplay: inline !important;\r\n\t\tborder: none !important;\r\n\t\tbox-shadow: none !important;\r\n\t\theight: 1em !important;\r\n\t\twidth: 1em !important;\r\n\t\tmargin: 0 0.07em !important;\r\n\t\tvertical-align: -0.1em !important;\r\n\t\tbackground: none !important;\r\n\t\tpadding: 0 !important;\r\n\t}\r\n\/*# sourceURL=wp-emoji-styles-inline-css *\/\r\n<\/style>\r\n<style id=\"safe-svg-svg-icon-style-inline-css\">\r\n.safe-svg-cover{text-align:center}.safe-svg-cover .safe-svg-inside{display:inline-block;max-width:100%}.safe-svg-cover svg{fill:currentColor;height:100%;max-height:100%;max-width:100%;width:100%}\r\n\r\n\/*# sourceURL=https:\/\/digitalsolution.is\/wp-content\/plugins\/safe-svg\/dist\/safe-svg-block-frontend.css *\/\r\n<\/style>\r\n<style id=\"global-styles-inline-css\">\r\n:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4\/3;--wp--preset--aspect-ratio--3-4: 3\/4;--wp--preset--aspect-ratio--3-2: 3\/2;--wp--preset--aspect-ratio--2-3: 2\/3;--wp--preset--aspect-ratio--16-9: 16\/9;--wp--preset--aspect-ratio--9-16: 9\/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}:root { --wp--style--global--content-size: 800px;--wp--style--global--wide-size: 1200px; }:where(body) { margin: 0; }.wp-site-blocks > .alignleft { float: left; margin-right: 2em; }.wp-site-blocks > .alignright { float: right; margin-left: 2em; }.wp-site-blocks > .aligncenter { justify-content: center; margin-left: auto; margin-right: auto; }:where(.wp-site-blocks) > * { margin-block-start: 24px; margin-block-end: 0; }:where(.wp-site-blocks) > :first-child { margin-block-start: 0; }:where(.wp-site-blocks) > :last-child { margin-block-end: 0; }:root { --wp--style--block-gap: 24px; }:root :where(.is-layout-flow) > :first-child{margin-block-start: 0;}:root :where(.is-layout-flow) > :last-child{margin-block-end: 0;}:root :where(.is-layout-flow) > *{margin-block-start: 24px;margin-block-end: 0;}:root :where(.is-layout-constrained) > :first-child{margin-block-start: 0;}:root :where(.is-layout-constrained) > :last-child{margin-block-end: 0;}:root :where(.is-layout-constrained) > *{margin-block-start: 24px;margin-block-end: 0;}:root :where(.is-layout-flex){gap: 24px;}:root :where(.is-layout-grid){gap: 24px;}.is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}.is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}.is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}.is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}.is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width: var(--wp--style--global--content-size);margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > .alignwide{max-width: var(--wp--style--global--wide-size);}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}\r\n:root :where(.wp-block-icon svg){width: 24px;}\r\n:root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;}\r\n\/*# sourceURL=global-styles-inline-css *\/\r\n<\/style>\r\n<link rel='stylesheet' id='hello-elementor-css' href='https:\/\/digitalsolution.is\/wp-content\/themes\/hello-elementor\/assets\/css\/reset.css?ver=3.4.9' media='all' \/>\r\n<link rel='stylesheet' id='hello-elementor-theme-style-css' href='https:\/\/digitalsolution.is\/wp-content\/themes\/hello-elementor\/assets\/css\/theme.css?ver=3.4.9' media='all' \/>\r\n<link rel='stylesheet' id='hello-elementor-header-footer-css' href='https:\/\/digitalsolution.is\/wp-content\/themes\/hello-elementor\/assets\/css\/header-footer.css?ver=3.4.9' media='all' \/>\r\n<link rel='stylesheet' id='elementor-frontend-css' href='https:\/\/digitalsolution.is\/wp-content\/plugins\/elementor\/assets\/css\/frontend.min.css?ver=4.1.4' media='all' \/>\r\n<style id=\"elementor-frontend-inline-css\">\r\n.e-heading-base a, .e-paragraph-base a { all: unset; cursor: pointer; }form[data-element_type=\"e-form\"].form-state-success [data-element_type=\"e-form-success-message\"],form[data-element_type=\"e-form\"].form-state-error [data-element_type=\"e-form-error-message\"]{ display: block; }\r\n\/*# sourceURL=elementor-frontend-inline-css *\/\r\n<\/style>\r\n<link rel='stylesheet' id='elementor-post-6-css' href='https:\/\/digitalsolution.is\/wp-content\/uploads\/elementor\/css\/post-6.css?ver=1784375827' media='all' \/>\r\n<link rel='stylesheet' id='trp-language-switcher-v2-css' href='https:\/\/digitalsolution.is\/wp-content\/plugins\/translatepress-multilingual\/assets\/css\/trp-language-switcher-v2.css?ver=3.2.3' media='all' \/>\r\n<link rel='stylesheet' id='elementor-post-14-css' href='https:\/\/digitalsolution.is\/wp-content\/uploads\/elementor\/css\/post-14.css?ver=1784558074' media='all' \/>\r\n<link rel='stylesheet' id='base-desktop-css' href='https:\/\/digitalsolution.is\/wp-content\/uploads\/elementor\/css\/base-desktop.css?ver=6a5b6a13b29a0' media='all' \/>\r\n<link rel='stylesheet' id='eael-general-css' href='https:\/\/digitalsolution.is\/wp-content\/plugins\/essential-addons-for-elementor-lite\/assets\/front-end\/css\/view\/general.min.css?ver=6.6.10' media='all' \/>\r\n<link rel='stylesheet' id='elementor-gf-roboto-css' href='https:\/\/fonts.googleapis.com\/css?family=Roboto:100,100italic,200,200italic,300,300italic,400,400italic,500,500italic,600,600italic,700,700italic,800,800italic,900,900italic&#038;display=swap&#038;subset=latin-ext' media='all' \/>\r\n<link rel='stylesheet' id='elementor-gf-robotoslab-css' href='https:\/\/fonts.googleapis.com\/css?family=Roboto+Slab:100,100italic,200,200italic,300,300italic,400,400italic,500,500italic,600,600italic,700,700italic,800,800italic,900,900italic&#038;display=swap&#038;subset=latin-ext' media='all' \/>\r\n<script id=\"trp-language-switcher-js-v2-js\" src=\"https:\/\/digitalsolution.is\/wp-content\/plugins\/translatepress-multilingual\/assets\/js\/trp-frontend-language-switcher.js?ver=3.2.3\"><\/script>\r\n<script id=\"jquery-core-js\" src=\"https:\/\/digitalsolution.is\/wp-includes\/js\/jquery\/jquery.min.js?ver=3.7.1\"><\/script>\r\n<script id=\"jquery-migrate-js\" src=\"https:\/\/digitalsolution.is\/wp-includes\/js\/jquery\/jquery-migrate.min.js?ver=3.4.1\"><\/script>\r\n<link rel=\"https:\/\/api.w.org\/\" href=\"https:\/\/digitalsolution.is\/index.php?rest_route=\/\" \/><link rel=\"alternate\" title=\"JSON\" type=\"application\/json\" href=\"https:\/\/digitalsolution.is\/index.php?rest_route=\/wp\/v2\/pages\/14\" \/><link rel=\"EditURI\" type=\"application\/rsd+xml\" title=\"RSD\" href=\"https:\/\/digitalsolution.is\/xmlrpc.php?rsd\" \/>\r\n<meta name=\"generator\" content=\"WordPress 7.0.2\" \/>\r\n<link rel=\"canonical\" href=\"https:\/\/digitalsolution.is\/\" \/>\r\n<link rel='shortlink' href='https:\/\/digitalsolution.is\/' \/>\r\n<link rel=\"alternate\" hreflang=\"pl-PL\" href=\"https:\/\/digitalsolution.is\/\"\/>\r\n<link rel=\"alternate\" hreflang=\"pl\" href=\"https:\/\/digitalsolution.is\/\"\/>\r\n<meta name=\"generator\" content=\"Elementor 4.1.4; features: e_font_icon_svg, additional_custom_breakpoints; settings: css_print_method-external, google_font-enabled, font_display-swap\">\r\n\t\t\t<style>\r\n\t\t\t\t.e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload),\r\n\t\t\t\t.e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload) * {\r\n\t\t\t\t\tbackground-image: none !important;\r\n\t\t\t\t}\r\n\t\t\t\t@media screen and (max-height: 1024px) {\r\n\t\t\t\t\t.e-con.e-parent:nth-of-type(n+3):not(.e-lazyloaded):not(.e-no-lazyload),\r\n\t\t\t\t\t.e-con.e-parent:nth-of-type(n+3):not(.e-lazyloaded):not(.e-no-lazyload) * {\r\n\t\t\t\t\t\tbackground-image: none !important;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t@media screen and (max-height: 640px) {\r\n\t\t\t\t\t.e-con.e-parent:nth-of-type(n+2):not(.e-lazyloaded):not(.e-no-lazyload),\r\n\t\t\t\t\t.e-con.e-parent:nth-of-type(n+2):not(.e-lazyloaded):not(.e-no-lazyload) * {\r\n\t\t\t\t\t\tbackground-image: none !important;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t<\/style>\r\n\t\t\t<\/head>\r\n<body class=\"home wp-singular page-template page-template-elementor_header_footer page page-id-14 wp-embed-responsive wp-theme-hello-elementor translatepress-pl_PL hello-elementor-default elementor-default elementor-template-full-width elementor-kit-6 elementor-page elementor-page-14\">\r\n\r\n\r\n<a class=\"skip-link screen-reader-text\" href=\"#content\">Przejd\u017a do tre\u015bci<\/a>\r\n\r\n<header id=\"site-header\" class=\"site-header dynamic-header \">\r\n\t<div class=\"header-inner\">\r\n\t\t<div class=\"site-branding show-title\">\r\n\t\t\t\t\t\t\t<div class=\"site-title hide\">\r\n\t\t\t\t\t<a href=\"https:\/\/digitalsolution.is\/\" title=\"Strona g\u0142\u00f3wna\" rel=\"home\">\r\n\t\t\t\t\t\tDigitalSolution.is\t\t\t\t\t<\/a>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\r\n\t\t\t\t\t<\/div>\r\n<\/header>\r\n\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"14\" class=\"elementor elementor-14\">\r\n\t\t\t\t<div class=\"elementor-element elementor-element-243e7bb e-con-full e-flex e-con e-parent\" data-id=\"243e7bb\" data-element_type=\"container\" data-e-type=\"container\">\r\n\t\t\t\t<div class=\"elementor-element elementor-element-04b93bc elementor-widget__width-inherit elementor-absolute elementor-widget elementor-widget-html\" data-id=\"04b93bc\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_position&quot;:&quot;absolute&quot;}\" data-widget_type=\"html.default\">\r\n\t\t\t\t\t<style>\r\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Manrope:wght@400;500;600;700;800&display=swap');\r\n\r\n:root{\r\n  --ds-bg:#020713;\r\n  --ds-bg2:#06111f;\r\n  --ds-cyan:#17C5F3;\r\n  --ds-cyan2:#7BE9FF;\r\n  --ds-muted:rgba(255,255,255,.68);\r\n  --ds-muted2:rgba(255,255,255,.48);\r\n}\r\n\r\n*{box-sizing:border-box}\r\n\r\nhtml{\r\n  scroll-behavior:smooth;\r\n  scroll-padding-top:104px;\r\n}\r\n\r\nbody{\r\n  margin:0;\r\n  background:var(--ds-bg);\r\n  color:#fff;\r\n  font-family:Manrope,Arial,sans-serif;\r\n}\r\n\r\n.elementor-widget-html,\r\n.elementor-widget-html > .elementor-widget-container{\r\n  width:100vw!important;\r\n  max-width:100vw!important;\r\n  margin-left:calc(50% - 50vw)!important;\r\n  margin-right:calc(50% - 50vw)!important;\r\n  padding:0!important;\r\n}\r\n\r\n.trp-language-switcher,\r\n#trp-floater-ls,\r\n.trp_language_switcher_shortcode,\r\n.page-header,\r\n.entry-header,\r\n.entry-title,\r\n.page-title,\r\n.site-footer,\r\n#colophon,\r\n.site-info,\r\n.wp-site-blocks > footer,\r\nfooter.wp-block-template-part{\r\n  display:none!important;\r\n}\r\n\r\n.ds-mount{\r\n  position:relative;\r\n  width:100vw;\r\n  max-width:100vw;\r\n  margin-left:calc(50% - 50vw);\r\n  margin-right:calc(50% - 50vw);\r\n  overflow:hidden;\r\n  background:#020713;\r\n}\r\n\r\n\/* ===== LOADER ===== *\/\r\n.ds-main,\r\n.ds-page-footer{\r\n  opacity:0;\r\n  visibility:hidden;\r\n  pointer-events:none;\r\n  filter:blur(16px);\r\n  transition:opacity 1.25s ease, filter 1.25s ease, visibility 0s linear 1.25s;\r\n}\r\n\r\nbody.ds-loaded .ds-main,\r\nbody.ds-loaded .ds-page-footer{\r\n  opacity:1;\r\n  visibility:visible;\r\n  pointer-events:auto;\r\n  filter:blur(0);\r\n  transition:opacity 1.25s ease, filter 1.25s ease;\r\n}\r\n\r\n.ds-intro{\r\n  position:fixed;\r\n  inset:0;\r\n  z-index:99999;\r\n  display:flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n  background:\r\n    radial-gradient(circle at 50% 42%,rgba(23,197,243,.12),transparent 34%),\r\n    radial-gradient(circle at 50% 100%,rgba(255,255,255,.055),transparent 42%),\r\n    linear-gradient(180deg,#020713 0%,#06111f 100%);\r\n  overflow:hidden;\r\n  transition:opacity 1.25s ease,visibility 1.25s ease;\r\n}\r\n\r\n.ds-intro.hide{\r\n  opacity:0;\r\n  visibility:hidden;\r\n  pointer-events:none;\r\n}\r\n\r\n.ds-intro::before{\r\n  content:\"\";\r\n  position:absolute;\r\n  width:620px;\r\n  height:620px;\r\n  border-radius:999px;\r\n  background:radial-gradient(circle,rgba(23,197,243,.22),transparent 65%);\r\n  filter:blur(30px);\r\n  animation:introOrb 7s ease-in-out infinite;\r\n}\r\n\r\n@keyframes introOrb{\r\n  50%{transform:scale(1.14) translateY(18px)}\r\n}\r\n\r\n.ds-intro-inner{\r\n  position:relative;\r\n  z-index:2;\r\n  text-align:center;\r\n  animation:introIn 1.45s cubic-bezier(.16,1,.3,1) forwards;\r\n}\r\n\r\n@keyframes introIn{\r\n  from{opacity:0;transform:translateY(26px) scale(.97);filter:blur(12px)}\r\n  to{opacity:1;transform:none;filter:blur(0)}\r\n}\r\n\r\n.ds-intro-logo{\r\n  width:min(330px,68vw);\r\n  max-height:190px;\r\n  object-fit:contain;\r\n  filter:brightness(0) invert(1) drop-shadow(0 0 42px rgba(23,197,243,.45));\r\n  margin-bottom:30px;\r\n}\r\n\r\n.ds-intro-title{\r\n  margin:0 0 30px;\r\n  font-size:clamp(20px,2vw,30px);\r\n  font-weight:400;\r\n  letter-spacing:.20em;\r\n  color:rgba(255,255,255,.92);\r\n}\r\n\r\n.ds-loader{\r\n  width:280px;\r\n  max-width:64vw;\r\n  height:2px;\r\n  margin:0 auto;\r\n  border-radius:999px;\r\n  overflow:hidden;\r\n  background:rgba(255,255,255,.14);\r\n}\r\n\r\n.ds-loader span{\r\n  display:block;\r\n  width:0;\r\n  height:100%;\r\n  background:linear-gradient(90deg,transparent,var(--ds-cyan),transparent);\r\n  box-shadow:0 0 30px var(--ds-cyan);\r\n  animation:loadLine 2.85s ease forwards;\r\n}\r\n\r\n@keyframes loadLine{\r\n  to{width:100%}\r\n}\r\n\r\n\/* ===== FIXED FX ===== *\/\r\n#ds-particles{\r\n  position:fixed;\r\n  inset:0;\r\n  width:100vw;\r\n  height:100vh;\r\n  z-index:4;\r\n  opacity:0;\r\n  pointer-events:none;\r\n  transition:opacity 1.25s ease;\r\n}\r\n\r\nbody.ds-loaded #ds-particles{\r\n  opacity:.42;\r\n}\r\n\r\n.ds-cursor-glow{\r\n  position:fixed;\r\n  width:420px;\r\n  height:420px;\r\n  border-radius:999px;\r\n  pointer-events:none;\r\n  z-index:3;\r\n  opacity:0;\r\n  background:radial-gradient(circle,rgba(23,197,243,.17),transparent 66%);\r\n  filter:blur(26px);\r\n  transform:translate(-50%,-50%);\r\n  transition:opacity 1.25s ease;\r\n}\r\n\r\nbody.ds-loaded .ds-cursor-glow{\r\n  opacity:.58;\r\n}\r\n\r\n\/* ===== HEADER ===== *\/\r\n.ds-header{\r\n  position:fixed;\r\n  top:calc(20px + var(--wp-admin--admin-bar--height, 0px));\r\n  left:0;\r\n  right:0;\r\n  margin:0 auto;\r\n  width:min(1160px,calc(100vw - 44px));\r\n  height:64px;\r\n  z-index:9998;\r\n  display:grid;\r\n  grid-template-columns:76px 1fr auto;\r\n  align-items:center;\r\n  gap:18px;\r\n  padding:0 18px;\r\n  border:1px solid rgba(255,255,255,.105);\r\n  border-radius:24px;\r\n  background:rgba(2,7,19,.34);\r\n  backdrop-filter:blur(34px) saturate(150%);\r\n  box-shadow:0 22px 80px rgba(0,0,0,.20);\r\n  opacity:0;\r\n  pointer-events:none;\r\n  transform:translateY(-18px);\r\n  transition:\r\n    opacity 1.25s ease,\r\n    transform 1.25s cubic-bezier(.16,1,.3,1),\r\n    background .65s ease,\r\n    border-color .65s ease,\r\n    height .65s ease;\r\n}\r\n\r\nbody.ds-ready .ds-header{\r\n  opacity:1;\r\n  pointer-events:auto;\r\n  transform:translateY(0);\r\n}\r\n\r\nbody.ds-scrolled .ds-header{\r\n  height:58px;\r\n  background:rgba(2,7,19,.72);\r\n  border-color:rgba(255,255,255,.16);\r\n  box-shadow:0 24px 90px rgba(0,0,0,.36);\r\n}\r\n\r\n.ds-logo-link{\r\n  display:flex;\r\n  align-items:center;\r\n  justify-content:flex-start;\r\n  width:58px;\r\n  height:44px;\r\n  text-decoration:none;\r\n}\r\n\r\n.ds-logo-img{\r\n  display:block;\r\n  width:52px;\r\n  height:36px;\r\n  object-fit:contain;\r\n  object-position:left center;\r\n  filter:brightness(0) invert(1) drop-shadow(0 0 18px rgba(23,197,243,.22));\r\n}\r\n\r\n.ds-nav{\r\n  display:flex;\r\n  justify-content:center;\r\n  align-items:center;\r\n  gap:18px;\r\n}\r\n\r\n.ds-nav a{\r\n  position:relative;\r\n  color:rgba(255,255,255,.58);\r\n  text-decoration:none;\r\n  font-size:12px;\r\n  font-weight:700;\r\n  opacity:0;\r\n  transform:translateY(8px);\r\n  transition:\r\n    color .35s ease,\r\n    opacity 1.15s ease,\r\n    transform 1.15s cubic-bezier(.16,1,.3,1),\r\n    text-shadow .35s ease;\r\n}\r\n\r\nbody.ds-ready .ds-nav a{\r\n  opacity:1;\r\n  transform:none;\r\n}\r\n\r\nbody.ds-ready .ds-nav a:nth-child(1){transition-delay:.18s}\r\nbody.ds-ready .ds-nav a:nth-child(2){transition-delay:.28s}\r\nbody.ds-ready .ds-nav a:nth-child(3){transition-delay:.38s}\r\nbody.ds-ready .ds-nav a:nth-child(4){transition-delay:.48s}\r\nbody.ds-ready .ds-nav a:nth-child(5){transition-delay:.58s}\r\n\r\n.ds-nav a::after{\r\n  content:\"\";\r\n  position:absolute;\r\n  left:0;\r\n  right:0;\r\n  bottom:-8px;\r\n  height:1px;\r\n  background:#fff;\r\n  opacity:0;\r\n  transform:scaleX(.4);\r\n  transition:.45s ease;\r\n  box-shadow:0 0 18px rgba(255,255,255,.42);\r\n}\r\n\r\n.ds-nav a:hover,\r\n.ds-nav a.is-active{\r\n  color:#fff;\r\n  text-shadow:0 0 20px rgba(255,255,255,.18);\r\n}\r\n\r\n.ds-nav a:hover::after,\r\n.ds-nav a.is-active::after{\r\n  opacity:1;\r\n  transform:scaleX(1);\r\n}\r\n\r\n.ds-actions{\r\n  display:flex;\r\n  align-items:center;\r\n  gap:10px;\r\n  opacity:0;\r\n  transform:translateY(8px);\r\n  transition:1.15s cubic-bezier(.16,1,.3,1);\r\n  transition-delay:.58s;\r\n}\r\n\r\nbody.ds-ready .ds-actions{\r\n  opacity:1;\r\n  transform:none;\r\n}\r\n\r\n.ds-status-pill{\r\n  position:relative;\r\n  height:34px;\r\n  display:inline-flex;\r\n  align-items:center;\r\n  gap:8px;\r\n  padding:0 12px;\r\n  border-radius:999px;\r\n  border:1px solid rgba(23,197,243,.28);\r\n  background:rgba(23,197,243,.07);\r\n  color:rgba(255,255,255,.74);\r\n  font-size:10.5px;\r\n  font-weight:800;\r\n  letter-spacing:.12em;\r\n  text-transform:uppercase;\r\n  overflow:hidden;\r\n  white-space:nowrap;\r\n  min-width:164px;\r\n}\r\n\r\n.ds-status-dot{\r\n  position:relative;\r\n  z-index:2;\r\n  width:7px;\r\n  height:7px;\r\n  border-radius:999px;\r\n  background:var(--ds-cyan);\r\n  box-shadow:0 0 18px rgba(23,197,243,.85);\r\n  animation:dsDotPulse 2.4s ease-in-out infinite;\r\n}\r\n\r\n@keyframes dsDotPulse{\r\n  0%,100%{opacity:.55;transform:scale(.86)}\r\n  50%{opacity:1;transform:scale(1.08)}\r\n}\r\n\r\n.ds-status-text{\r\n  position:relative;\r\n  z-index:2;\r\n  transition:opacity .34s ease, transform .34s cubic-bezier(.16,1,.3,1), filter .34s ease;\r\n}\r\n\r\n.ds-status-pill.is-changing .ds-status-text{\r\n  opacity:0;\r\n  transform:translateY(8px);\r\n  filter:blur(8px);\r\n}\r\n\r\n.ds-lang{\r\n  white-space:nowrap;\r\n  font-size:11px;\r\n  color:rgba(255,255,255,.50);\r\n}\r\n\r\n.ds-lang b{color:#fff}\r\n\r\n.ds-lang{\r\n  display:inline-flex;\r\n  align-items:center;\r\n  gap:5px;\r\n}\r\n.ds-lang button{\r\n  appearance:none;\r\n  -webkit-appearance:none;\r\n  border:0;\r\n  background:transparent;\r\n  color:rgba(255,255,255,.46);\r\n  font:inherit;\r\n  font-size:11px;\r\n  font-weight:800;\r\n  padding:0;\r\n  cursor:pointer;\r\n  line-height:1;\r\n  transition:color .25s ease, text-shadow .25s ease, opacity .25s ease;\r\n}\r\n.ds-lang button:hover,\r\n.ds-lang button.is-active{\r\n  color:#fff;\r\n  text-shadow:0 0 16px rgba(255,255,255,.22);\r\n}\r\n.ds-lang span{\r\n  color:rgba(255,255,255,.26);\r\n  font-size:11px;\r\n  font-weight:700;\r\n}\r\n\r\n\r\n\/* ===== BUTTONS ===== *\/\r\n.ds-demo,\r\n.ds-btn{\r\n  position:relative;\r\n  display:inline-flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n  color:#fff;\r\n  font-weight:800;\r\n  text-decoration:none;\r\n  overflow:hidden;\r\n  border:1px solid rgba(255,255,255,.44);\r\n  background:\r\n    linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.045)),\r\n    rgba(255,255,255,.02);\r\n  box-shadow:\r\n    inset 0 1px 0 rgba(255,255,255,.20),\r\n    0 0 30px rgba(255,255,255,.10);\r\n  transition:\r\n    transform .75s cubic-bezier(.16,1,.3,1),\r\n    border-color .75s ease,\r\n    background .75s ease,\r\n    box-shadow .75s ease;\r\n}\r\n\r\n.ds-demo{\r\n  min-width:120px;\r\n  height:42px;\r\n  padding:0 18px;\r\n  border-radius:15px;\r\n  font-size:12.5px;\r\n}\r\n\r\n.ds-btn{\r\n  height:48px;\r\n  padding:0 22px;\r\n  border-radius:15px;\r\n  font-size:13px;\r\n}\r\n\r\n.ds-demo::before,\r\n.ds-btn::before{\r\n  content:\"\";\r\n  position:absolute;\r\n  inset:0;\r\n  background:linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent);\r\n  transform:translateX(-120%);\r\n  transition:.85s ease;\r\n}\r\n\r\n.ds-demo:hover,\r\n.ds-btn:hover{\r\n  transform:translateY(-2px);\r\n  border-color:rgba(255,255,255,.78);\r\n  background:\r\n    linear-gradient(180deg,rgba(255,255,255,.24),rgba(255,255,255,.07)),\r\n    rgba(255,255,255,.03);\r\n  box-shadow:\r\n    inset 0 1px 0 rgba(255,255,255,.28),\r\n    0 0 46px rgba(255,255,255,.18),\r\n    0 20px 70px rgba(0,0,0,.28);\r\n}\r\n\r\n.ds-btn.secondary{\r\n  border-color:rgba(255,255,255,.15);\r\n  background:rgba(255,255,255,.035);\r\n  box-shadow:none;\r\n}\r\n\r\n\/* ===== GLOBAL ===== *\/\r\n.ds-container{\r\n  width:min(1240px,calc(100vw - 48px));\r\n  margin:0 auto;\r\n  position:relative;\r\n  z-index:6;\r\n}\r\n\r\n.ds-section{\r\n  position:relative;\r\n  z-index:6;\r\n}\r\n\r\n#top,\r\n#solutions,\r\n#esl,\r\n#api,\r\n#integrations,\r\n#robots,\r\n#contact{\r\n  scroll-margin-top:104px;\r\n}\r\n\r\n\/* ===== BACKGROUND IMAGES \u2014 SUBTLE BLUR ===== *\/\r\n.ds-bg-section{\r\n  position:relative;\r\n  overflow:hidden;\r\n  isolation:isolate;\r\n  margin-top:-90px;\r\n  padding-top:220px;\r\n  padding-bottom:160px;\r\n  background:#020713;\r\n}\r\n\r\n.ds-bg-section:first-of-type{\r\n  margin-top:-70px;\r\n}\r\n\r\n.ds-bg-img{\r\n  position:absolute;\r\n  inset:-70px -36px;\r\n  width:calc(100% + 72px);\r\n  height:calc(100% + 140px);\r\n  object-fit:cover;\r\n  object-position:center;\r\n  pointer-events:none;\r\n  user-select:none;\r\n  z-index:0;\r\n  filter:blur(3px) brightness(.84) saturate(.96);\r\n  transform:scale(1.018);\r\n  opacity:.82;\r\n}\r\n\r\n.ds-bg-section::before{\r\n  content:\"\";\r\n  position:absolute;\r\n  inset:0;\r\n  z-index:1;\r\n  pointer-events:none;\r\n  background:\r\n    radial-gradient(circle at 74% 38%,rgba(23,197,243,.10),transparent 34%),\r\n    radial-gradient(circle at 12% 62%,rgba(255,255,255,.025),transparent 28%);\r\n}\r\n\r\n.ds-bg-section::after{\r\n  content:\"\";\r\n  position:absolute;\r\n  inset:-2px 0;\r\n  z-index:2;\r\n  pointer-events:none;\r\n  background:\r\n    linear-gradient(90deg,rgba(2,7,19,.78) 0%,rgba(2,7,19,.58) 40%,rgba(2,7,19,.38) 100%),\r\n    linear-gradient(180deg,rgba(2,7,19,.52) 0%,rgba(2,7,19,.20) 45%,rgba(2,7,19,.58) 100%);\r\n}\r\n\r\n.ds-bg-section > .ds-container{\r\n  z-index:6;\r\n}\r\n\r\n\/* ===== HERO ===== *\/\r\n.ds-hero{\r\n  position:relative;\r\n  min-height:100svh;\r\n  display:flex;\r\n  align-items:center;\r\n  padding:120px 0 150px;\r\n  overflow:hidden;\r\n  background:\r\n    radial-gradient(circle at 72% 38%,rgba(23,197,243,.10),transparent 34%),\r\n    linear-gradient(180deg,#020713 0%,#06111f 55%,#020713 100%);\r\n}\r\n\r\n.ds-hero-video{\r\n  position:absolute;\r\n  inset:0;\r\n  z-index:0;\r\n  width:100%;\r\n  height:100%;\r\n  object-fit:cover;\r\n  object-position:center center;\r\n  opacity:.76;\r\n  filter:saturate(.88) contrast(1.06) brightness(.64);\r\n  transform:scale(1.015);\r\n  pointer-events:none;\r\n  background:#020713;\r\n}\r\n\r\n.ds-hero::before{\r\n  content:\"\";\r\n  position:absolute;\r\n  inset:0;\r\n  z-index:1;\r\n  pointer-events:none;\r\n  background:\r\n    linear-gradient(90deg,rgba(2,7,19,.96) 0%,rgba(2,7,19,.78) 32%,rgba(2,7,19,.36) 66%,rgba(2,7,19,.82) 100%),\r\n    linear-gradient(180deg,rgba(2,7,19,.36) 0%,rgba(2,7,19,.10) 45%,rgba(2,7,19,.96) 100%);\r\n}\r\n\r\n.ds-hero::after{\r\n  content:\"\";\r\n  position:absolute;\r\n  inset:0;\r\n  z-index:2;\r\n  pointer-events:none;\r\n  background:\r\n    radial-gradient(circle at 74% 38%,rgba(23,197,243,.16),transparent 34%),\r\n    radial-gradient(circle at 22% 22%,rgba(255,255,255,.055),transparent 24%),\r\n    radial-gradient(circle at 58% 72%,rgba(23,197,243,.09),transparent 36%);\r\n}\r\n\r\n.ds-hero-layout{\r\n  width:min(1240px,calc(100vw - 48px));\r\n  margin:0 auto;\r\n  position:relative;\r\n  z-index:6;\r\n  display:grid;\r\n  grid-template-columns:minmax(0, .92fr) minmax(430px, 1.08fr);\r\n  gap:64px;\r\n  align-items:center;\r\n}\r\n\r\n.ds-hero-copy{\r\n  max-width:720px;\r\n}\r\n\r\n.ds-hero-systemline{\r\n  width:max-content;\r\n  max-width:100%;\r\n  height:34px;\r\n  display:flex;\r\n  align-items:center;\r\n  gap:12px;\r\n  margin-bottom:18px;\r\n  padding:0 13px;\r\n  border-radius:999px;\r\n  border:1px solid rgba(255,255,255,.12);\r\n  background:rgba(2,7,19,.34);\r\n  backdrop-filter:blur(18px);\r\n  color:rgba(255,255,255,.64);\r\n  font-size:10.5px;\r\n  font-weight:800;\r\n  letter-spacing:.14em;\r\n  text-transform:uppercase;\r\n  overflow:hidden;\r\n}\r\n\r\n.ds-hero-progress{\r\n  position:relative;\r\n  width:88px;\r\n  height:2px;\r\n  border-radius:999px;\r\n  overflow:hidden;\r\n  background:rgba(255,255,255,.14);\r\n}\r\n\r\n.ds-hero-progress b{\r\n  display:block;\r\n  width:0%;\r\n  height:100%;\r\n  background:linear-gradient(90deg,rgba(255,255,255,.2),#fff,rgba(23,197,243,.8));\r\n  box-shadow:0 0 18px rgba(255,255,255,.28);\r\n  animation:dsHeroProgress 5.6s linear infinite;\r\n}\r\n\r\n@keyframes dsHeroProgress{\r\n  from{width:0%}\r\n  to{width:100%}\r\n}\r\n\r\n.ds-kicker{\r\n  color:var(--ds-cyan);\r\n  text-transform:uppercase;\r\n  letter-spacing:.28em;\r\n  font-size:12px;\r\n  font-weight:800;\r\n  margin-bottom:22px;\r\n}\r\n\r\n.ds-h1,\r\n.ds-title,\r\n.ds-cta h2{\r\n  transform:scale(var(--ds-title-scale,1));\r\n  transform-origin:left center;\r\n  will-change:transform;\r\n  transition:transform .28s linear;\r\n}\r\n\r\n.ds-cta h2{\r\n  transform-origin:center center;\r\n}\r\n\r\n.ds-h1{\r\n  margin:0 0 26px;\r\n  font-size:clamp(60px,7.2vw,122px);\r\n  line-height:.88;\r\n  letter-spacing:-.09em;\r\n  font-weight:800;\r\n  text-shadow:0 20px 80px rgba(0,0,0,.38);\r\n}\r\n\r\n.ds-h1 span,\r\n.ds-title span{\r\n  color:var(--ds-cyan);\r\n}\r\n\r\n.ds-lead{\r\n  max-width:650px;\r\n  margin:0;\r\n  color:rgba(255,255,255,.73);\r\n  font-size:clamp(17px,1.35vw,21px);\r\n  line-height:1.62;\r\n  text-shadow:0 10px 40px rgba(0,0,0,.35);\r\n}\r\n\r\n.ds-hero-dynamic .ds-kicker,\r\n.ds-hero-dynamic .ds-h1,\r\n.ds-hero-dynamic .ds-lead,\r\n.ds-hero-systemline{\r\n  transition:\r\n    opacity .58s ease,\r\n    filter .58s ease,\r\n    transform .58s cubic-bezier(.16,1,.3,1);\r\n}\r\n\r\n.ds-hero-dynamic.is-changing .ds-kicker,\r\n.ds-hero-dynamic.is-changing .ds-h1,\r\n.ds-hero-dynamic.is-changing .ds-lead,\r\n.ds-hero-dynamic.is-changing .ds-hero-systemline{\r\n  opacity:0;\r\n  filter:blur(14px);\r\n}\r\n\r\n.ds-hero-dynamic.is-changing .ds-kicker,\r\n.ds-hero-dynamic.is-changing .ds-lead,\r\n.ds-hero-dynamic.is-changing .ds-hero-systemline{\r\n  transform:translateY(16px);\r\n}\r\n\r\n\/* ===== HERO BOXES ===== *\/\r\n.ds-hero-side{\r\n  position:relative;\r\n  min-height:480px;\r\n}\r\n\r\n.ds-hero-chip-wrap{\r\n  position:absolute;\r\n  right:0;\r\n  top:50%;\r\n  width:min(500px,100%);\r\n  height:450px;\r\n  transform:translateY(-46%);\r\n}\r\n\r\n.ds-hero-chip-wrap::before,\r\n.ds-hero-chip-wrap::after{\r\n  content:\"\";\r\n  position:absolute;\r\n  pointer-events:none;\r\n  opacity:.22;\r\n  transition:.75s cubic-bezier(.16,1,.3,1);\r\n}\r\n\r\n.ds-hero-chip-wrap::before{\r\n  left:48px;\r\n  top:80px;\r\n  width:330px;\r\n  height:1px;\r\n  background:linear-gradient(90deg,transparent,var(--ds-cyan),transparent);\r\n  box-shadow:0 0 22px rgba(23,197,243,.42);\r\n}\r\n\r\n.ds-hero-chip-wrap::after{\r\n  left:210px;\r\n  top:90px;\r\n  width:1px;\r\n  height:220px;\r\n  background:linear-gradient(180deg,transparent,var(--ds-cyan),transparent);\r\n  box-shadow:0 0 22px rgba(23,197,243,.42);\r\n}\r\n\r\n.ds-hero-chip{\r\n  position:absolute;\r\n  width:340px;\r\n  min-height:98px;\r\n  border:1px solid rgba(255,255,255,.14);\r\n  background:\r\n    linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025)),\r\n    rgba(4,12,24,.42);\r\n  backdrop-filter:blur(24px) saturate(145%);\r\n  border-radius:22px;\r\n  padding:18px 20px;\r\n  box-shadow:0 24px 80px rgba(0,0,0,.26);\r\n  opacity:0;\r\n  overflow:hidden;\r\n  transform:translateY(18px) scale(.96);\r\n  transition:\r\n    top .9s cubic-bezier(.16,1,.3,1),\r\n    left .9s cubic-bezier(.16,1,.3,1),\r\n    right .9s cubic-bezier(.16,1,.3,1),\r\n    width .9s cubic-bezier(.16,1,.3,1),\r\n    opacity .72s ease,\r\n    filter .72s ease,\r\n    transform .9s cubic-bezier(.16,1,.3,1),\r\n    border-color .7s ease,\r\n    box-shadow .7s ease;\r\n}\r\n\r\nbody.ds-ready .ds-hero-chip{\r\n  opacity:1;\r\n  transform:translateY(0) scale(1);\r\n}\r\n\r\n.ds-hero-chip small{\r\n  display:block;\r\n  color:rgba(255,255,255,.55);\r\n  font-size:11px;\r\n  margin-bottom:6px;\r\n}\r\n\r\n.ds-hero-chip strong{\r\n  display:block;\r\n  font-size:17px;\r\n  letter-spacing:-.03em;\r\n}\r\n\r\n.ds-hero-chip span{\r\n  color:var(--ds-cyan);\r\n}\r\n\r\n.ds-hero-chip::before{\r\n  content:\"\";\r\n  position:absolute;\r\n  inset:0;\r\n  background:linear-gradient(90deg,transparent,rgba(255,255,255,.09),transparent);\r\n  transform:translateX(-120%);\r\n  opacity:0;\r\n  transition:.62s ease;\r\n}\r\n\r\n.ds-hero-chip::after{\r\n  content:\"\";\r\n  position:absolute;\r\n  right:16px;\r\n  top:16px;\r\n  width:7px;\r\n  height:7px;\r\n  border-radius:999px;\r\n  background:var(--ds-cyan);\r\n  box-shadow:0 0 18px rgba(23,197,243,.75);\r\n  opacity:.55;\r\n}\r\n\r\n.ds-hero-chip.is-pulse::before{\r\n  opacity:1;\r\n  transform:translateX(120%);\r\n}\r\n\r\n.ds-hero-chip-wrap.is-changing .ds-hero-chip{\r\n  opacity:0;\r\n  filter:blur(16px);\r\n  transform:translateY(24px) scale(.94);\r\n}\r\n\r\n.ds-hero-chip-wrap.layout-esl #dsHeroChip1{right:0;top:38px;width:360px}\r\n.ds-hero-chip-wrap.layout-esl #dsHeroChip2{right:54px;top:174px;width:330px}\r\n.ds-hero-chip-wrap.layout-esl #dsHeroChip3{right:112px;top:302px;width:300px}\r\n\r\n.ds-hero-chip-wrap.layout-api #dsHeroChip1{left:14px;top:44px;width:300px}\r\n.ds-hero-chip-wrap.layout-api #dsHeroChip2{right:6px;top:172px;width:332px}\r\n.ds-hero-chip-wrap.layout-api #dsHeroChip3{left:62px;top:326px;width:310px}\r\n\r\n.ds-hero-chip-wrap.layout-robots #dsHeroChip1{left:28px;top:64px;width:318px}\r\n.ds-hero-chip-wrap.layout-robots #dsHeroChip2{right:0;top:210px;width:350px}\r\n.ds-hero-chip-wrap.layout-robots #dsHeroChip3{left:52px;top:340px;width:286px}\r\n\r\n.ds-hero-chip-wrap.layout-future #dsHeroChip1{\r\n  left:50%;\r\n  top:34px;\r\n  width:348px;\r\n  transform:translateX(-50%) translateY(0) scale(1);\r\n}\r\n.ds-hero-chip-wrap.layout-future #dsHeroChip2{left:8px;top:214px;width:286px}\r\n.ds-hero-chip-wrap.layout-future #dsHeroChip3{right:2px;top:286px;width:292px}\r\n\r\n\/* ===== CONTENT ===== *\/\r\n.ds-title{\r\n  margin:0 0 22px;\r\n  font-size:clamp(42px,5vw,78px);\r\n  line-height:.96;\r\n  letter-spacing:-.07em;\r\n  font-weight:800;\r\n}\r\n\r\n.ds-sub{\r\n  max-width:760px;\r\n  margin:0 0 54px;\r\n  color:var(--ds-muted);\r\n  font-size:19px;\r\n  line-height:1.7;\r\n}\r\n\r\n.ds-cards{\r\n  display:grid;\r\n  grid-template-columns:repeat(4,1fr);\r\n  gap:20px;\r\n}\r\n\r\n.ds-card,\r\n.ds-cta,\r\n.ds-showcase,\r\n.ds-api-panel,\r\n.ds-robot-left,\r\n.ds-robot-right-card,\r\n.ds-integration-experience{\r\n  transform:scale(var(--ds-box-scale,1));\r\n  transform-origin:center center;\r\n  will-change:transform;\r\n}\r\n\r\n.ds-card{\r\n  min-height:260px;\r\n  padding:28px;\r\n  border-radius:30px;\r\n  border:1px solid rgba(255,255,255,.12);\r\n  background:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.028));\r\n  backdrop-filter:blur(22px);\r\n  transition:\r\n    opacity .95s cubic-bezier(.16,1,.3,1),\r\n    filter .95s ease,\r\n    transform .95s cubic-bezier(.16,1,.3,1),\r\n    border-color 1.05s cubic-bezier(.16,1,.3,1),\r\n    box-shadow 1.05s cubic-bezier(.16,1,.3,1);\r\n  animation:dsSoftFloat 11s ease-in-out infinite;\r\n}\r\n\r\n.ds-card:nth-child(2){animation-delay:-2s}\r\n.ds-card:nth-child(3){animation-delay:-4s}\r\n.ds-card:nth-child(4){animation-delay:-6s}\r\n\r\n@keyframes dsSoftFloat{\r\n  0%,100%{translate:0 0}\r\n  50%{translate:0 -7px}\r\n}\r\n\r\n.ds-stagger-cards .ds-card{\r\n  opacity:0;\r\n  filter:blur(14px);\r\n  transform:translateY(34px) scale(.94);\r\n}\r\n\r\n.reveal.show .ds-stagger-cards .ds-card{\r\n  opacity:1;\r\n  filter:blur(0);\r\n  transform:scale(var(--ds-box-scale,1));\r\n}\r\n\r\n.reveal.show .ds-stagger-cards .ds-card:nth-child(1){transition-delay:.08s}\r\n.reveal.show .ds-stagger-cards .ds-card:nth-child(2){transition-delay:.23s}\r\n.reveal.show .ds-stagger-cards .ds-card:nth-child(3){transition-delay:.38s}\r\n.reveal.show .ds-stagger-cards .ds-card:nth-child(4){transition-delay:.53s}\r\n\r\n.ds-card:hover{\r\n  transform:scale(var(--ds-box-scale,1)) translateY(-8px);\r\n  border-color:rgba(255,255,255,.34);\r\n  box-shadow:0 36px 100px rgba(255,255,255,.10);\r\n}\r\n\r\n.ds-icon{\r\n  width:54px;\r\n  height:54px;\r\n  display:flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n  margin-bottom:24px;\r\n  border-radius:17px;\r\n  border:1px solid rgba(23,197,243,.28);\r\n  background:rgba(23,197,243,.11);\r\n  color:var(--ds-cyan);\r\n  font-size:24px;\r\n}\r\n\r\n.ds-card h3{\r\n  margin:0 0 12px;\r\n  font-size:22px;\r\n  letter-spacing:-.03em;\r\n}\r\n\r\n.ds-card p{\r\n  margin:0;\r\n  color:var(--ds-muted);\r\n  line-height:1.62;\r\n}\r\n\r\n\/* ===== ESL ===== *\/\r\n.ds-showcase{\r\n  position:relative;\r\n  display:grid;\r\n  grid-template-columns:.95fr 1.05fr;\r\n  gap:38px;\r\n  align-items:center;\r\n  padding:58px;\r\n  min-height:640px;\r\n  border-radius:46px;\r\n  border:1px solid rgba(255,255,255,.13);\r\n  overflow:hidden;\r\n  background:\r\n    radial-gradient(circle at 72% 50%,rgba(23,197,243,.18),transparent 38%),\r\n    linear-gradient(135deg,rgba(255,255,255,.07),rgba(255,255,255,.022));\r\n  backdrop-filter:blur(24px);\r\n  animation:dsLargeFloat 13s ease-in-out infinite;\r\n}\r\n\r\n@keyframes dsLargeFloat{\r\n  0%,100%{translate:0 0}\r\n  50%{translate:0 -6px}\r\n}\r\n\r\n.ds-showcase-copy,\r\n.ds-showcase-visual{\r\n  position:relative;\r\n  z-index:2;\r\n}\r\n\r\n.ds-section-tag{\r\n  width:max-content;\r\n  margin-bottom:20px;\r\n  padding:8px 13px;\r\n  border-radius:999px;\r\n  border:1px solid rgba(23,197,243,.34);\r\n  background:rgba(23,197,243,.07);\r\n  color:var(--ds-cyan);\r\n  font-size:11px;\r\n  font-weight:800;\r\n  letter-spacing:.18em;\r\n  text-transform:uppercase;\r\n}\r\n\r\n.ds-feature-list{\r\n  display:grid;\r\n  gap:14px;\r\n  margin-top:30px;\r\n}\r\n\r\n.ds-feature{\r\n  display:flex;\r\n  gap:12px;\r\n  align-items:flex-start;\r\n  padding:15px 16px;\r\n  border-radius:20px;\r\n  border:1px solid rgba(255,255,255,.10);\r\n  background:rgba(4,12,24,.30);\r\n}\r\n\r\n.ds-feature b{\r\n  color:#fff;\r\n  display:block;\r\n  margin-bottom:4px;\r\n}\r\n\r\n.ds-feature span{\r\n  color:var(--ds-muted2);\r\n  font-size:14px;\r\n  line-height:1.5;\r\n}\r\n\r\n.ds-feature::before{\r\n  content:\"\u2713\";\r\n  color:var(--ds-cyan);\r\n  font-weight:800;\r\n}\r\n\r\n.ds-label-stack{\r\n  display:grid;\r\n  gap:18px;\r\n  perspective:900px;\r\n}\r\n\r\n.ds-label-device{\r\n  position:relative;\r\n  min-height:124px;\r\n  padding:22px 26px;\r\n  border-radius:28px;\r\n  border:1px solid rgba(255,255,255,.14);\r\n  background:\r\n    radial-gradient(circle at 25% 30%,rgba(23,197,243,.16),transparent 36%),\r\n    linear-gradient(135deg,rgba(16,30,48,.96),rgba(4,9,18,.94));\r\n  box-shadow:0 28px 90px rgba(0,0,0,.36);\r\n  transform:rotateY(-8deg) rotateX(2deg);\r\n  overflow:hidden;\r\n}\r\n\r\n.ds-label-device:nth-child(2){\r\n  margin-left:54px;\r\n  transform:rotateY(-5deg) rotateX(1deg) scale(.94);\r\n  opacity:.72;\r\n}\r\n\r\n.ds-label-device:nth-child(3){\r\n  margin-left:108px;\r\n  transform:rotateY(-2deg) rotateX(1deg) scale(.88);\r\n  opacity:.48;\r\n}\r\n\r\n.ds-label-device::before{\r\n  content:\"API_SYNC \u00b7 200 OK \u00b7 PRICE_LOCKED \u00b7 \";\r\n  position:absolute;\r\n  left:20px;\r\n  top:18px;\r\n  color:rgba(123,233,255,.42);\r\n  font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;\r\n  font-size:11px;\r\n  letter-spacing:.12em;\r\n  white-space:nowrap;\r\n  animation:dsCodeSweep 7s linear infinite;\r\n}\r\n\r\n@keyframes dsCodeSweep{\r\n  from{transform:translateX(0)}\r\n  to{transform:translateX(-160px)}\r\n}\r\n\r\n.ds-label-price{\r\n  position:absolute;\r\n  left:28px;\r\n  bottom:22px;\r\n  font-size:46px;\r\n  line-height:1;\r\n  font-weight:800;\r\n  letter-spacing:-.07em;\r\n}\r\n\r\n.ds-label-meta{\r\n  position:absolute;\r\n  right:24px;\r\n  bottom:25px;\r\n  color:var(--ds-cyan);\r\n  font-size:13px;\r\n  font-weight:800;\r\n}\r\n\r\n.ds-label-led{\r\n  position:absolute;\r\n  right:24px;\r\n  top:22px;\r\n  width:9px;\r\n  height:9px;\r\n  border-radius:999px;\r\n  background:#37ff8b;\r\n  box-shadow:0 0 22px rgba(55,255,139,.80);\r\n}\r\n\r\n\/* ===== API ===== *\/\r\n.ds-api-grid{\r\n  display:grid;\r\n  grid-template-columns:1.05fr .95fr;\r\n  gap:28px;\r\n  align-items:stretch;\r\n}\r\n\r\n.ds-api-panel{\r\n  position:relative;\r\n  min-height:560px;\r\n  padding:44px;\r\n  border-radius:42px;\r\n  border:1px solid rgba(255,255,255,.13);\r\n  background:\r\n    linear-gradient(180deg,rgba(255,255,255,.060),rgba(255,255,255,.022)),\r\n    rgba(4,12,24,.36);\r\n  backdrop-filter:blur(24px);\r\n  overflow:hidden;\r\n}\r\n\r\n.ds-api-panel.dark{\r\n  background:\r\n    radial-gradient(circle at 80% 18%,rgba(23,197,243,.16),transparent 36%),\r\n    rgba(3,9,20,.72);\r\n}\r\n\r\n.ds-api-flow{\r\n  margin-top:38px;\r\n  display:grid;\r\n  gap:16px;\r\n}\r\n\r\n.ds-api-step{\r\n  position:relative;\r\n  display:grid;\r\n  grid-template-columns:54px 1fr auto;\r\n  gap:16px;\r\n  align-items:center;\r\n  padding:20px;\r\n  border-radius:24px;\r\n  border:1px solid rgba(255,255,255,.12);\r\n  background:rgba(255,255,255,.045);\r\n}\r\n\r\n.ds-step-num{\r\n  width:54px;\r\n  height:54px;\r\n  display:flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n  border-radius:18px;\r\n  border:1px solid rgba(23,197,243,.28);\r\n  background:rgba(23,197,243,.09);\r\n  color:var(--ds-cyan);\r\n  font-weight:800;\r\n}\r\n\r\n.ds-api-step b{\r\n  display:block;\r\n  margin-bottom:5px;\r\n  font-size:18px;\r\n}\r\n\r\n.ds-api-step span{\r\n  color:var(--ds-muted2);\r\n  line-height:1.5;\r\n  font-size:14px;\r\n}\r\n\r\n.ds-api-status{\r\n  color:#37ff8b;\r\n  font-size:11px;\r\n  font-weight:800;\r\n  letter-spacing:.12em;\r\n}\r\n\r\n.ds-code-window{\r\n  height:100%;\r\n  min-height:470px;\r\n  padding:30px;\r\n  border-radius:30px;\r\n  border:1px solid rgba(255,255,255,.12);\r\n  background:rgba(2,7,19,.72);\r\n  font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;\r\n  color:#BDF6FF;\r\n  line-height:1.8;\r\n  font-size:14px;\r\n  overflow:hidden;\r\n}\r\n\r\n.ds-code-window-inner{\r\n  animation:codeMove 18s linear infinite;\r\n}\r\n\r\n@keyframes codeMove{\r\n  to{transform:translateY(-270px)}\r\n}\r\n\r\n.ds-code-window .cyan{color:var(--ds-cyan)}\r\n.ds-code-window .green{color:#7dffa9}\r\n\r\n\/* ===== INTEGRATION EXPERIENCE ===== *\/\r\n.ds-integration-experience{\r\n  position:relative;\r\n  margin-top:28px;\r\n  padding:28px 0 30px;\r\n  border-radius:34px;\r\n  border:1px solid rgba(255,255,255,.11);\r\n  background:\r\n    radial-gradient(circle at 18% 50%,rgba(23,197,243,.10),transparent 32%),\r\n    linear-gradient(180deg,rgba(255,255,255,.052),rgba(255,255,255,.020));\r\n  backdrop-filter:blur(22px);\r\n  overflow:hidden;\r\n}\r\n\r\n.ds-integration-experience::before,\r\n.ds-integration-experience::after{\r\n  content:\"\";\r\n  position:absolute;\r\n  top:0;\r\n  bottom:0;\r\n  width:130px;\r\n  z-index:4;\r\n  pointer-events:none;\r\n}\r\n\r\n.ds-integration-experience::before{\r\n  left:0;\r\n  background:linear-gradient(90deg,#06111f,transparent);\r\n}\r\n\r\n.ds-integration-experience::after{\r\n  right:0;\r\n  background:linear-gradient(270deg,#06111f,transparent);\r\n}\r\n\r\n.ds-integration-head{\r\n  position:relative;\r\n  z-index:5;\r\n  display:flex;\r\n  justify-content:space-between;\r\n  align-items:flex-end;\r\n  gap:20px;\r\n  padding:0 28px 22px;\r\n}\r\n\r\n.ds-integration-head h3{\r\n  margin:0;\r\n  font-size:28px;\r\n  letter-spacing:-.045em;\r\n}\r\n\r\n.ds-integration-head p{\r\n  max-width:560px;\r\n  margin:0;\r\n  color:var(--ds-muted2);\r\n  font-size:14px;\r\n  line-height:1.6;\r\n}\r\n\r\n.ds-marquee{\r\n  position:relative;\r\n  display:flex;\r\n  overflow:hidden;\r\n  width:100%;\r\n  mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);\r\n}\r\n\r\n.ds-marquee + .ds-marquee{\r\n  margin-top:12px;\r\n}\r\n\r\n.ds-marquee-track{\r\n  display:flex;\r\n  gap:12px;\r\n  min-width:max-content;\r\n  padding:0 6px;\r\n  animation:dsMarqueeLeft 34s linear infinite;\r\n}\r\n\r\n.ds-marquee.reverse .ds-marquee-track{\r\n  animation-name:dsMarqueeRight;\r\n  animation-duration:38s;\r\n}\r\n\r\n@keyframes dsMarqueeLeft{\r\n  from{transform:translateX(0)}\r\n  to{transform:translateX(-50%)}\r\n}\r\n\r\n@keyframes dsMarqueeRight{\r\n  from{transform:translateX(-50%)}\r\n  to{transform:translateX(0)}\r\n}\r\n\r\n.ds-integration-badge{\r\n  height:56px;\r\n  display:inline-flex;\r\n  align-items:center;\r\n  gap:12px;\r\n  padding:0 18px 0 12px;\r\n  border-radius:20px;\r\n  border:1px solid rgba(255,255,255,.105);\r\n  background:\r\n    linear-gradient(180deg,rgba(255,255,255,.060),rgba(255,255,255,.020)),\r\n    rgba(4,12,24,.42);\r\n  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);\r\n  color:rgba(255,255,255,.82);\r\n  white-space:nowrap;\r\n  font-size:13px;\r\n  font-weight:800;\r\n}\r\n\r\n.ds-integration-badge i{\r\n  width:32px;\r\n  height:32px;\r\n  display:inline-flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n  border-radius:12px;\r\n  border:1px solid rgba(23,197,243,.26);\r\n  background:rgba(23,197,243,.08);\r\n  color:var(--ds-cyan);\r\n  font-style:normal;\r\n  font-size:10px;\r\n  letter-spacing:.04em;\r\n}\r\n\r\n.ds-integration-badge span{\r\n  color:rgba(255,255,255,.54);\r\n  font-size:11px;\r\n  font-weight:700;\r\n  margin-left:2px;\r\n}\r\n\r\n\/* ===== ROBOTICS \u2014 ONE SECTION ONLY ===== *\/\r\n.ds-robot-layout{\r\n  display:grid;\r\n  grid-template-columns:.86fr 1fr;\r\n  gap:26px;\r\n  align-items:stretch;\r\n}\r\n\r\n.ds-robot-left,\r\n.ds-robot-right-card{\r\n  position:relative;\r\n  border-radius:44px;\r\n  border:1px solid rgba(255,255,255,.13);\r\n  background:\r\n    radial-gradient(circle at 48% 42%,rgba(23,197,243,.12),transparent 40%),\r\n    linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.022)),\r\n    rgba(4,12,24,.38);\r\n  backdrop-filter:blur(24px);\r\n  overflow:hidden;\r\n  box-shadow:0 32px 120px rgba(0,0,0,.24);\r\n}\r\n\r\n.ds-robot-left{\r\n  min-height:720px;\r\n  padding:54px 48px;\r\n}\r\n\r\n.ds-robot-right{\r\n  display:grid;\r\n  grid-template-rows:1fr 1fr;\r\n  gap:26px;\r\n}\r\n\r\n.ds-robot-right-card{\r\n  min-height:344px;\r\n  padding:42px;\r\n}\r\n\r\n.ds-robot-left h2{\r\n  max-width:540px;\r\n  margin:0 0 24px;\r\n}\r\n\r\n.ds-robot-left .ds-sub{\r\n  max-width:520px;\r\n  margin-bottom:0;\r\n}\r\n\r\n.ds-robot-right-card h3{\r\n  margin:0 0 14px;\r\n  font-size:32px;\r\n  letter-spacing:-.055em;\r\n  line-height:1.05;\r\n}\r\n\r\n.ds-robot-right-card p{\r\n  max-width:620px;\r\n  margin:0;\r\n  color:var(--ds-muted);\r\n  line-height:1.65;\r\n  font-size:16px;\r\n}\r\n\r\n.ds-robot-note{\r\n  margin-top:28px;\r\n  padding:20px 22px;\r\n  border-radius:24px;\r\n  border:1px solid rgba(23,197,243,.22);\r\n  background:rgba(23,197,243,.055);\r\n  color:rgba(255,255,255,.70);\r\n  line-height:1.6;\r\n  font-weight:600;\r\n}\r\n\r\n.ds-robot-visual{\r\n  position:absolute;\r\n  left:50%;\r\n  bottom:58px;\r\n  transform:translateX(-50%);\r\n  width:min(410px,78%);\r\n  height:320px;\r\n  pointer-events:none;\r\n}\r\n\r\n.ds-cleanbot{\r\n  position:absolute;\r\n  left:50%;\r\n  top:54%;\r\n  transform:translate(-50%,-50%);\r\n  width:250px;\r\n  height:142px;\r\n  border-radius:46px;\r\n  border:1px solid rgba(255,255,255,.18);\r\n  background:\r\n    radial-gradient(circle at 36% 28%,rgba(23,197,243,.30),transparent 36%),\r\n    linear-gradient(135deg,#142338,#050A14);\r\n  box-shadow:\r\n    0 34px 110px rgba(0,0,0,.45),\r\n    0 0 60px rgba(23,197,243,.12);\r\n  animation:dsCleanBot 7s ease-in-out infinite;\r\n}\r\n\r\n@keyframes dsCleanBot{\r\n  0%,100%{transform:translate(-50%,-50%) rotate(-2deg)}\r\n  50%{transform:translate(-50%,-58%) rotate(2deg)}\r\n}\r\n\r\n.ds-cleanbot::before{\r\n  content:\"\";\r\n  position:absolute;\r\n  left:36px;\r\n  top:37px;\r\n  width:74px;\r\n  height:18px;\r\n  border-radius:999px;\r\n  background:rgba(23,197,243,.88);\r\n  box-shadow:0 0 30px rgba(23,197,243,.68);\r\n}\r\n\r\n.ds-cleanbot::after{\r\n  content:\"CLEAN ROUTE\";\r\n  position:absolute;\r\n  left:36px;\r\n  bottom:34px;\r\n  color:rgba(255,255,255,.68);\r\n  font-size:12px;\r\n  font-weight:800;\r\n  letter-spacing:.18em;\r\n}\r\n\r\n.ds-orbit{\r\n  position:absolute;\r\n  inset:0;\r\n  border-radius:999px;\r\n  border:1px solid rgba(23,197,243,.18);\r\n  animation:dsOrbit 12s linear infinite;\r\n}\r\n\r\n.ds-orbit.two{\r\n  inset:42px;\r\n  animation-duration:9s;\r\n  animation-direction:reverse;\r\n}\r\n\r\n.ds-orbit::before{\r\n  content:\"\";\r\n  position:absolute;\r\n  top:22%;\r\n  left:4%;\r\n  width:9px;\r\n  height:9px;\r\n  border-radius:999px;\r\n  background:var(--ds-cyan);\r\n  box-shadow:0 0 18px rgba(23,197,243,.8);\r\n}\r\n\r\n@keyframes dsOrbit{\r\n  to{transform:rotate(360deg)}\r\n}\r\n\r\n.ds-robot-right-card .ds-feature-list{\r\n  margin-top:28px;\r\n}\r\n\r\n\/* ===== CONTACT ===== *\/\r\n.ds-cta{\r\n  text-align:center;\r\n  padding:86px 28px;\r\n  border-radius:44px;\r\n  border:1px solid rgba(255,255,255,.13);\r\n  background:\r\n    radial-gradient(circle at 50% 0%,rgba(255,255,255,.10),transparent 50%),\r\n    rgba(255,255,255,.052);\r\n  animation:dsLargeFloat 14s ease-in-out infinite;\r\n}\r\n\r\n.ds-cta h2{\r\n  max-width:920px;\r\n  margin:0 auto 24px;\r\n  font-size:clamp(42px,5vw,82px);\r\n  line-height:.95;\r\n  letter-spacing:-.07em;\r\n}\r\n\r\n.ds-cta p{\r\n  margin:0 0 34px;\r\n  color:var(--ds-muted);\r\n  font-size:19px;\r\n}\r\n\r\n.ds-contact-grid{\r\n  display:grid;\r\n  grid-template-columns:repeat(3,1fr);\r\n  gap:16px;\r\n  max-width:920px;\r\n  margin:42px auto 0;\r\n  text-align:left;\r\n}\r\n\r\n.ds-contact-card{\r\n  min-height:132px;\r\n  padding:22px;\r\n  border-radius:26px;\r\n  border:1px solid rgba(255,255,255,.12);\r\n  background:rgba(4,12,24,.42);\r\n  backdrop-filter:blur(22px);\r\n}\r\n\r\n.ds-contact-card small{\r\n  display:block;\r\n  margin-bottom:10px;\r\n  color:rgba(255,255,255,.46);\r\n  font-size:11px;\r\n  text-transform:uppercase;\r\n  letter-spacing:.18em;\r\n  font-weight:800;\r\n}\r\n\r\n.ds-contact-card strong,\r\n.ds-contact-card a{\r\n  display:block;\r\n  color:#fff;\r\n  font-size:17px;\r\n  line-height:1.45;\r\n  font-weight:800;\r\n  text-decoration:none;\r\n}\r\n\r\n.ds-contact-card span{\r\n  display:block;\r\n  margin-top:6px;\r\n  color:var(--ds-muted2);\r\n  font-size:13px;\r\n  line-height:1.5;\r\n}\r\n\r\n\/* ===== FOOTER ===== *\/\r\n.ds-page-footer{\r\n  position:relative;\r\n  z-index:6;\r\n  padding:58px 0 44px;\r\n  margin-top:-90px;\r\n  background:#020713;\r\n  border-top:1px solid rgba(255,255,255,.08);\r\n  color:var(--ds-muted2);\r\n}\r\n\r\n.ds-footer-inner{\r\n  width:min(1240px,calc(100vw - 48px));\r\n  margin:0 auto;\r\n  display:grid;\r\n  grid-template-columns:1.1fr .9fr .8fr;\r\n  gap:28px;\r\n  align-items:start;\r\n}\r\n\r\n.ds-footer-logo{\r\n  display:flex;\r\n  align-items:center;\r\n  gap:12px;\r\n  color:#fff;\r\n  font-size:18px;\r\n  font-weight:800;\r\n  letter-spacing:-.03em;\r\n}\r\n\r\n.ds-footer-logo img{\r\n  width:34px;\r\n  height:28px;\r\n  object-fit:contain;\r\n  filter:brightness(0) invert(1) drop-shadow(0 0 16px rgba(23,197,243,.22));\r\n}\r\n\r\n.ds-footer-text{\r\n  max-width:390px;\r\n  color:var(--ds-muted2);\r\n  font-size:14px;\r\n  line-height:1.7;\r\n  margin-top:12px;\r\n}\r\n\r\n.ds-footer-block h4{\r\n  margin:0 0 14px;\r\n  color:#fff;\r\n  font-size:13px;\r\n  text-transform:uppercase;\r\n  letter-spacing:.18em;\r\n}\r\n\r\n.ds-footer-block p,\r\n.ds-footer-block a{\r\n  display:block;\r\n  margin:0 0 8px;\r\n  color:var(--ds-muted2);\r\n  text-decoration:none;\r\n  font-size:14px;\r\n  line-height:1.6;\r\n}\r\n\r\n.ds-socials{\r\n  display:flex;\r\n  align-items:center;\r\n  gap:10px;\r\n  margin-top:4px;\r\n}\r\n\r\n.ds-social{\r\n  width:42px;\r\n  height:42px;\r\n  display:flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n  border-radius:15px;\r\n  border:1px solid rgba(255,255,255,.12);\r\n  color:rgba(255,255,255,.72);\r\n  background:rgba(255,255,255,.045);\r\n  text-decoration:none;\r\n  transition:.45s cubic-bezier(.16,1,.3,1);\r\n}\r\n\r\n.ds-social:hover{\r\n  color:#fff;\r\n  border-color:rgba(255,255,255,.45);\r\n  background:rgba(255,255,255,.10);\r\n  box-shadow:0 0 34px rgba(255,255,255,.13);\r\n  transform:translateY(-3px);\r\n}\r\n\r\n.ds-social svg{\r\n  width:19px;\r\n  height:19px;\r\n  fill:currentColor;\r\n}\r\n\r\n.ds-footer-bottom{\r\n  width:min(1240px,calc(100vw - 48px));\r\n  margin:34px auto 0;\r\n  padding-top:24px;\r\n  border-top:1px solid rgba(255,255,255,.07);\r\n  display:flex;\r\n  justify-content:space-between;\r\n  flex-wrap:wrap;\r\n  gap:16px;\r\n  color:rgba(255,255,255,.38);\r\n  font-size:13px;\r\n}\r\n\r\n\/* ===== SCROLL GUIDE ===== *\/\r\n.ds-scroll-guide{\r\n  position:fixed;\r\n  left:50%;\r\n  bottom:28px;\r\n  z-index:9996;\r\n  transform:translateX(-50%) translateY(18px);\r\n  height:48px;\r\n  display:inline-flex;\r\n  align-items:center;\r\n  gap:13px;\r\n  padding:0 12px 0 18px;\r\n  border:1px solid rgba(255,255,255,.13);\r\n  border-radius:999px;\r\n  color:#fff;\r\n  cursor:pointer;\r\n  opacity:0;\r\n  pointer-events:none;\r\n  transition:.9s cubic-bezier(.16,1,.3,1);\r\n}\r\n\r\nbody.ds-ready .ds-scroll-guide{\r\n  opacity:1;\r\n  pointer-events:auto;\r\n  transform:translateX(-50%) translateY(0);\r\n}\r\n\r\nbutton.ds-scroll-guide{\r\n  appearance:none!important;\r\n  -webkit-appearance:none!important;\r\n  overflow:hidden!important;\r\n  isolation:isolate!important;\r\n  background:\r\n    linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.018)),\r\n    rgba(2,7,19,.48)!important;\r\n  color:#fff!important;\r\n  box-shadow:\r\n    inset 0 1px 0 rgba(255,255,255,.10),\r\n    0 22px 80px rgba(0,0,0,.34)!important;\r\n}\r\n\r\n.ds-scroll-guide-label,\r\n.ds-scroll-guide-icon{\r\n  position:relative;\r\n  z-index:3;\r\n}\r\n\r\n.ds-scroll-guide-label{\r\n  font-size:11px;\r\n  font-weight:800;\r\n  letter-spacing:.18em;\r\n  text-transform:uppercase;\r\n  color:rgba(255,255,255,.76)!important;\r\n  white-space:nowrap;\r\n}\r\n\r\n.ds-scroll-guide-icon{\r\n  width:32px;\r\n  height:32px;\r\n  display:flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n  border-radius:999px;\r\n  border:1px solid rgba(23,197,243,.34)!important;\r\n  background:rgba(23,197,243,.08)!important;\r\n}\r\n\r\n.ds-scroll-guide svg{\r\n  width:15px;\r\n  height:15px;\r\n  fill:none;\r\n  stroke:#fff!important;\r\n  stroke-width:2.4;\r\n  stroke-linecap:round;\r\n  stroke-linejoin:round;\r\n  transition:transform .65s cubic-bezier(.16,1,.3,1);\r\n}\r\n\r\n.ds-scroll-guide.is-back svg{\r\n  transform:rotate(180deg);\r\n}\r\n\r\n\/* ===== REVEALS ===== *\/\r\n.reveal{\r\n  opacity:0;\r\n  transform:translateY(46px);\r\n  filter:blur(14px);\r\n  transition:\r\n    opacity 1.55s cubic-bezier(.16,1,.3,1),\r\n    transform 1.55s cubic-bezier(.16,1,.3,1),\r\n    filter 1.55s ease;\r\n}\r\n\r\n.reveal.show{\r\n  opacity:1;\r\n  transform:none;\r\n  filter:blur(0);\r\n}\r\n\r\n.ds-hero .reveal{\r\n  transition-delay:.22s;\r\n}\r\n\r\n\/* ===== MATRIX ===== *\/\r\n.ds-matrix-letter-fx{\r\n  position:fixed;\r\n  z-index:9997;\r\n  pointer-events:none;\r\n  display:flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n  white-space:pre;\r\n  opacity:0;\r\n  color:rgba(255,255,255,.96);\r\n  filter:brightness(1);\r\n  transform:translateZ(0);\r\n  transition:opacity .38s ease,color .38s ease,text-shadow .48s ease,filter .48s ease;\r\n}\r\n\r\n.ds-matrix-letter-fx.is-visible{\r\n  opacity:1;\r\n  color:var(--ds-cyan);\r\n  text-shadow:\r\n    0 0 8px rgba(23,197,243,.42),\r\n    0 0 22px rgba(23,197,243,.28);\r\n  filter:brightness(1.18);\r\n}\r\n\r\n\/* ===== HARD FIX: NO PURPLE ===== *\/\r\nbody .ds-mount a,\r\nbody .ds-mount a:hover,\r\nbody .ds-mount a:focus,\r\nbody .ds-mount a:active,\r\nbody .ds-mount a:visited{\r\n  text-decoration:none!important;\r\n}\r\n\r\nbody .ds-mount a.ds-demo,\r\nbody .ds-mount a.ds-demo:hover,\r\nbody .ds-mount a.ds-demo:focus,\r\nbody .ds-mount a.ds-demo:active,\r\nbody .ds-mount a.ds-demo:visited,\r\nbody .ds-mount a.ds-btn,\r\nbody .ds-mount a.ds-btn:hover,\r\nbody .ds-mount a.ds-btn:focus,\r\nbody .ds-mount a.ds-btn:active,\r\nbody .ds-mount a.ds-btn:visited{\r\n  color:#ffffff!important;\r\n  -webkit-text-fill-color:#ffffff!important;\r\n  text-shadow:none!important;\r\n}\r\n\r\nbody .ds-mount .ds-contact-card a,\r\nbody .ds-mount .ds-contact-card a:hover,\r\nbody .ds-mount .ds-contact-card a:focus,\r\nbody .ds-mount .ds-contact-card a:active,\r\nbody .ds-mount .ds-contact-card a:visited,\r\nbody .ds-mount .ds-footer-block a,\r\nbody .ds-mount .ds-footer-block a:hover,\r\nbody .ds-mount .ds-footer-block a:focus,\r\nbody .ds-mount .ds-footer-block a:active,\r\nbody .ds-mount .ds-footer-block a:visited{\r\n  color:#ffffff!important;\r\n  -webkit-text-fill-color:#ffffff!important;\r\n}\r\n\r\n\/* ===== MOBILE ===== *\/\r\n@media(max-width:980px){\r\n  .ds-header{\r\n    grid-template-columns:64px auto;\r\n    width:calc(100vw - 24px);\r\n    height:62px;\r\n    top:calc(12px + var(--wp-admin--admin-bar--height, 0px));\r\n  }\r\n\r\n  .ds-logo-img{width:48px;height:34px}\r\n\r\n  .ds-nav,\r\n  .ds-lang,\r\n  .ds-status-pill{\r\n    display:none;\r\n  }\r\n\r\n  .ds-actions{justify-content:flex-end}\r\n\r\n  .ds-hero{\r\n    padding-top:112px;\r\n    min-height:100svh;\r\n  }\r\n\r\n  .ds-hero-video{\r\n    opacity:.58;\r\n    object-position:center center;\r\n  }\r\n\r\n  .ds-hero-layout,\r\n  .ds-showcase,\r\n  .ds-api-grid,\r\n  .ds-robot-layout{\r\n    width:min(100vw - 32px,1240px);\r\n    grid-template-columns:1fr;\r\n    gap:34px;\r\n  }\r\n\r\n  .ds-robot-right{\r\n    grid-template-rows:auto;\r\n  }\r\n\r\n  .ds-hero-systemline{\r\n    width:100%;\r\n    justify-content:space-between;\r\n    font-size:9.5px;\r\n    letter-spacing:.10em;\r\n  }\r\n\r\n  .ds-hero-progress{width:64px}\r\n\r\n  .ds-hero-side{min-height:360px}\r\n\r\n  .ds-hero-chip-wrap{\r\n    position:relative;\r\n    right:auto;\r\n    top:auto;\r\n    width:100%;\r\n    height:350px;\r\n    transform:none;\r\n  }\r\n\r\n  .ds-hero-chip{\r\n    width:calc(100% - 34px)!important;\r\n  }\r\n\r\n  .ds-hero-chip-wrap.layout-esl #dsHeroChip1,\r\n  .ds-hero-chip-wrap.layout-api #dsHeroChip1,\r\n  .ds-hero-chip-wrap.layout-robots #dsHeroChip1,\r\n  .ds-hero-chip-wrap.layout-future #dsHeroChip1{\r\n    left:0!important;\r\n    right:auto!important;\r\n    top:0!important;\r\n    transform:none!important;\r\n  }\r\n\r\n  .ds-hero-chip-wrap.layout-esl #dsHeroChip2,\r\n  .ds-hero-chip-wrap.layout-api #dsHeroChip2,\r\n  .ds-hero-chip-wrap.layout-robots #dsHeroChip2,\r\n  .ds-hero-chip-wrap.layout-future #dsHeroChip2{\r\n    left:22px!important;\r\n    right:auto!important;\r\n    top:122px!important;\r\n    transform:none!important;\r\n  }\r\n\r\n  .ds-hero-chip-wrap.layout-esl #dsHeroChip3,\r\n  .ds-hero-chip-wrap.layout-api #dsHeroChip3,\r\n  .ds-hero-chip-wrap.layout-robots #dsHeroChip3,\r\n  .ds-hero-chip-wrap.layout-future #dsHeroChip3{\r\n    left:44px!important;\r\n    right:auto!important;\r\n    top:244px!important;\r\n    transform:none!important;\r\n  }\r\n\r\n  .ds-cards,\r\n  .ds-contact-grid,\r\n  .ds-footer-inner{\r\n    grid-template-columns:1fr;\r\n  }\r\n\r\n  .ds-bg-section{\r\n    margin-top:-50px;\r\n    padding-top:128px;\r\n    padding-bottom:95px;\r\n  }\r\n\r\n  .ds-container{\r\n    width:min(100vw - 32px,1240px);\r\n  }\r\n\r\n  .ds-h1{\r\n    font-size:clamp(56px,15vw,78px);\r\n  }\r\n\r\n  .ds-showcase,\r\n  .ds-api-panel,\r\n  .ds-robot-left,\r\n  .ds-robot-right-card{\r\n    padding:32px;\r\n    min-height:auto;\r\n  }\r\n\r\n  .ds-robot-left{\r\n    padding-bottom:380px;\r\n  }\r\n\r\n  .ds-robot-visual{\r\n    bottom:38px;\r\n    width:86%;\r\n  }\r\n\r\n  .ds-label-device:nth-child(2),\r\n  .ds-label-device:nth-child(3){\r\n    margin-left:0;\r\n  }\r\n\r\n  .ds-integration-head{\r\n    align-items:flex-start;\r\n    flex-direction:column;\r\n    padding:0 22px 22px;\r\n  }\r\n\r\n  .ds-footer-bottom{\r\n    flex-direction:column;\r\n  }\r\n}\r\n\/* ===== SMOOTH SECTION BLENDING \/ NO HARD CUTS ===== *\/\r\n\r\n.ds-bg-section{\r\n  margin-top:-135px;\r\n  padding-top:260px;\r\n}\r\n\r\n\/* t\u0142o sekcji mi\u0119kko znika na g\u00f3rze i dole *\/\r\n.ds-bg-img{\r\n  inset:-120px -60px;\r\n  width:calc(100% + 120px);\r\n  height:calc(100% + 240px);\r\n  transform:scale(1.035);\r\n  filter:blur(3px) brightness(.82) saturate(.96);\r\n  opacity:.82;\r\n\r\n  -webkit-mask-image:\r\n    linear-gradient(\r\n      to bottom,\r\n      transparent 0%,\r\n      rgba(0,0,0,.25) 5%,\r\n      #000 14%,\r\n      #000 82%,\r\n      rgba(0,0,0,.28) 92%,\r\n      transparent 100%\r\n    );\r\n  mask-image:\r\n    linear-gradient(\r\n      to bottom,\r\n      transparent 0%,\r\n      rgba(0,0,0,.25) 5%,\r\n      #000 14%,\r\n      #000 82%,\r\n      rgba(0,0,0,.28) 92%,\r\n      transparent 100%\r\n    );\r\n}\r\n\r\n\/* mocniejsza mg\u0142a\/blend na kraw\u0119dziach sekcji *\/\r\n.ds-bg-section::after{\r\n  background:\r\n    linear-gradient(\r\n      180deg,\r\n      rgba(2,7,19,1) 0%,\r\n      rgba(2,7,19,.82) 7%,\r\n      rgba(2,7,19,.34) 22%,\r\n      rgba(2,7,19,.26) 50%,\r\n      rgba(2,7,19,.48) 76%,\r\n      rgba(2,7,19,.90) 93%,\r\n      rgba(2,7,19,1) 100%\r\n    ),\r\n    linear-gradient(\r\n      90deg,\r\n      rgba(2,7,19,.82) 0%,\r\n      rgba(2,7,19,.58) 40%,\r\n      rgba(2,7,19,.38) 100%\r\n    ),\r\n    radial-gradient(\r\n      circle at 74% 38%,\r\n      rgba(23,197,243,.10),\r\n      transparent 34%\r\n    )!important;\r\n}\r\n\r\n\/* dodatkowy subtelny blur\/fog mi\u0119dzy sekcjami *\/\r\n.ds-bg-section + .ds-bg-section{\r\n  box-shadow:\r\n    0 -90px 130px rgba(2,7,19,.96),\r\n    inset 0 120px 110px rgba(2,7,19,.58);\r\n}\r\n\r\n\/* kontakt i footer te\u017c bez twardego odci\u0119cia *\/\r\n.ds-page-footer{\r\n  margin-top:-130px;\r\n  box-shadow:\r\n    0 -120px 160px rgba(2,7,19,.98),\r\n    inset 0 90px 90px rgba(2,7,19,.70);\r\n}\r\n\r\n@media(max-width:980px){\r\n  .ds-bg-section{\r\n    margin-top:-80px;\r\n    padding-top:170px;\r\n  }\r\n\r\n  .ds-bg-img{\r\n    inset:-80px -42px;\r\n    width:calc(100% + 84px);\r\n    height:calc(100% + 160px);\r\n  }\r\n\r\n  .ds-page-footer{\r\n    margin-top:-80px;\r\n  }\r\n}\r\n\r\n\r\n\/* ===== BACKGROUND CODE STREAM \/ API TELEMETRY LAYER ===== *\/\r\n.ds-code-stream{\r\n  position:fixed;\r\n  left:max(22px,calc((100vw - 1240px) \/ 2 + 8px));\r\n  top:calc(106px + var(--wp-admin--admin-bar--height, 0px));\r\n  width:min(560px,42vw);\r\n  height:52vh;\r\n  z-index:5;\r\n  pointer-events:none;\r\n  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;\r\n  font-size:10.5px;\r\n  line-height:1.62;\r\n  color:rgba(150,238,255,.50);\r\n  opacity:0;\r\n  transform:translateY(10px);\r\n  transition:opacity 1.35s ease, transform 1.35s cubic-bezier(.16,1,.3,1);\r\n  mix-blend-mode:screen;\r\n  text-shadow:0 0 14px rgba(23,197,243,.20);\r\n  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 9%,#000 72%,rgba(0,0,0,.44) 86%,transparent 100%);\r\n  mask-image:linear-gradient(to bottom,transparent 0%,#000 9%,#000 72%,rgba(0,0,0,.44) 86%,transparent 100%);\r\n}\r\n\r\nbody.ds-ready .ds-code-stream{\r\n  opacity:.46;\r\n  transform:translateY(0);\r\n}\r\n\r\n.ds-code-stream::before{\r\n  content:\"\";\r\n  position:absolute;\r\n  inset:-24px -38px;\r\n  border-radius:32px;\r\n  background:\r\n    radial-gradient(circle at 12% 10%,rgba(23,197,243,.11),transparent 30%),\r\n    linear-gradient(180deg,rgba(2,7,19,.18),transparent 68%);\r\n  filter:blur(2px);\r\n  opacity:.76;\r\n}\r\n\r\n.ds-code-stream-head{\r\n  position:relative;\r\n  z-index:2;\r\n  display:inline-flex;\r\n  align-items:center;\r\n  gap:8px;\r\n  margin-bottom:10px;\r\n  padding:5px 9px;\r\n  border-radius:999px;\r\n  border:1px solid rgba(23,197,243,.18);\r\n  background:rgba(23,197,243,.055);\r\n  color:rgba(190,249,255,.70);\r\n  font-size:9px;\r\n  font-weight:800;\r\n  letter-spacing:.18em;\r\n  text-transform:uppercase;\r\n}\r\n\r\n.ds-code-stream-head::before{\r\n  content:\"\";\r\n  width:6px;\r\n  height:6px;\r\n  border-radius:999px;\r\n  background:var(--ds-cyan);\r\n  box-shadow:0 0 16px rgba(23,197,243,.78);\r\n  animation:dsStreamDot 2.2s ease-in-out infinite;\r\n}\r\n\r\n@keyframes dsStreamDot{\r\n  0%,100%{opacity:.45;transform:scale(.85)}\r\n  50%{opacity:1;transform:scale(1.12)}\r\n}\r\n\r\n.ds-code-stream-lines{\r\n  position:relative;\r\n  z-index:2;\r\n  display:grid;\r\n  gap:2px;\r\n}\r\n\r\n.ds-code-line{\r\n  white-space:pre;\r\n  overflow:hidden;\r\n  opacity:0;\r\n  transform:translateY(7px);\r\n  animation:dsCodeLineIn .48s ease forwards;\r\n}\r\n\r\n@keyframes dsCodeLineIn{\r\n  to{opacity:1;transform:translateY(0)}\r\n}\r\n\r\n.ds-code-line.is-ok{color:rgba(125,255,169,.58)}\r\n.ds-code-line.is-warn{color:rgba(255,224,155,.54)}\r\n.ds-code-line.is-cyan{color:rgba(123,233,255,.66)}\r\n.ds-code-line.is-dim{color:rgba(255,255,255,.26)}\r\n\r\n.ds-code-line::after{\r\n  content:\"_\";\r\n  opacity:.65;\r\n  animation:dsCursorBlink .9s steps(2,end) infinite;\r\n}\r\n\r\n@keyframes dsCursorBlink{\r\n  50%{opacity:0}\r\n}\r\n\r\n@media(max-width:980px){\r\n  .ds-code-stream{display:none}\r\n}\r\n\r\n\/* ===== CONTENT UPDATE: ESL \/ ROBOTS \/ CONTACT - SAFE PATCH ON WORKING BASE ===== *\/\r\n\r\n#integrations.ds-integration-experience{\r\n  margin-top:76px!important;\r\n  scroll-margin-top:178px;\r\n}\r\n\r\n\/* ESL: richer right side animation without changing header\/layout base *\/\r\n.ds-esl-animation-panel{\r\n  display:grid;\r\n  gap:18px;\r\n}\r\n\r\n.ds-manual-chaos{\r\n  position:relative;\r\n  min-height:154px;\r\n  padding:20px;\r\n  border-radius:28px;\r\n  border:1px solid rgba(255,255,255,.12);\r\n  background:\r\n    radial-gradient(circle at 18% 24%,rgba(255,255,255,.075),transparent 30%),\r\n    radial-gradient(circle at 78% 42%,rgba(23,197,243,.13),transparent 34%),\r\n    rgba(3,10,20,.55);\r\n  overflow:hidden;\r\n  box-shadow:0 24px 80px rgba(0,0,0,.26);\r\n}\r\n\r\n.ds-manual-chaos::before{\r\n  content:\"\";\r\n  position:absolute;\r\n  inset:0;\r\n  background:\r\n    linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent),\r\n    repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 1px,transparent 1px 18px);\r\n  opacity:.48;\r\n  animation:dsManualSweep 5.8s linear infinite;\r\n  pointer-events:none;\r\n}\r\n\r\n@keyframes dsManualSweep{\r\n  from{transform:translateX(-35%)}\r\n  to{transform:translateX(35%)}\r\n}\r\n\r\n.ds-manual-chaos h3{\r\n  position:relative;\r\n  z-index:2;\r\n  margin:0 0 10px;\r\n  font-size:22px;\r\n  letter-spacing:-.04em;\r\n}\r\n\r\n.ds-manual-chaos p{\r\n  position:relative;\r\n  z-index:2;\r\n  max-width:560px;\r\n  margin:0;\r\n  color:rgba(255,255,255,.66);\r\n  line-height:1.55;\r\n  font-size:14px;\r\n}\r\n\r\n.ds-manual-symbols{\r\n  position:relative;\r\n  z-index:2;\r\n  display:flex;\r\n  flex-wrap:wrap;\r\n  gap:9px;\r\n  margin-top:18px;\r\n}\r\n\r\n.ds-symbol-chip{\r\n  height:34px;\r\n  display:inline-flex;\r\n  align-items:center;\r\n  padding:0 12px;\r\n  border-radius:999px;\r\n  border:1px solid rgba(255,255,255,.11);\r\n  background:rgba(255,255,255,.05);\r\n  color:rgba(255,255,255,.72);\r\n  font-size:12px;\r\n  font-weight:800;\r\n  letter-spacing:.05em;\r\n  text-transform:uppercase;\r\n  animation:dsSymbolGlitch 2.8s ease-in-out infinite;\r\n}\r\n\r\n.ds-symbol-chip:nth-child(2){animation-delay:.25s}\r\n.ds-symbol-chip:nth-child(3){animation-delay:.52s}\r\n.ds-symbol-chip:nth-child(4){animation-delay:.78s}\r\n.ds-symbol-chip:nth-child(5){animation-delay:1.05s}\r\n\r\n@keyframes dsSymbolGlitch{\r\n  0%,100%{transform:translate(0,0); opacity:.72}\r\n  14%{transform:translate(2px,-1px); opacity:.45}\r\n  26%{transform:translate(-1px,2px); opacity:.88}\r\n  38%{transform:translate(0,0); opacity:.64}\r\n}\r\n\r\n.ds-smart-label-stack{\r\n  gap:16px;\r\n}\r\n\r\n.ds-smart-label-stack .ds-label-device{\r\n  min-height:138px;\r\n}\r\n\r\n.ds-smart-label-stack .ds-label-device::before{\r\n  content:\"NO PAPER TAGS \u00b7 LIVE PRICE SYNC \u00b7 BATTERY OK \u00b7 \";\r\n}\r\n\r\n.ds-smart-label-stack .ds-label-led{\r\n  background:#536173;\r\n  box-shadow:none;\r\n  transition:background .32s ease,box-shadow .32s ease,transform .32s ease;\r\n}\r\n\r\n.ds-smart-label-stack .ds-label-led.is-synced{\r\n  background:#37ff8b;\r\n  box-shadow:0 0 24px rgba(55,255,139,.88);\r\n  transform:scale(1.18);\r\n}\r\n\r\n.ds-label-price.ds-animated-price{\r\n  display:flex;\r\n  align-items:flex-end;\r\n  gap:2px;\r\n}\r\n\r\n.ds-price-digit{\r\n  display:inline-block;\r\n  min-width:.48em;\r\n  text-align:center;\r\n  will-change:transform,filter;\r\n  transition:transform .16s ease,filter .16s ease,color .16s ease;\r\n}\r\n\r\n.ds-price-digit.is-rolling{\r\n  color:var(--ds-cyan);\r\n  filter:blur(.6px);\r\n  transform:translateY(-8px) rotate(-5deg) scale(1.05);\r\n}\r\n\r\n.ds-price-currency{\r\n  display:inline-block;\r\n  margin-left:7px;\r\n  margin-bottom:5px;\r\n  font-size:15px;\r\n  letter-spacing:.02em;\r\n  color:rgba(255,255,255,.58);\r\n}\r\n\r\n.ds-label-meta.ds-waiting{\r\n  color:rgba(255,255,255,.44);\r\n}\r\n\r\n.ds-label-meta.ds-synced{\r\n  color:#37ff8b;\r\n}\r\n\r\n\/* robots: obstacles + avoidance pulses *\/\r\n.ds-robot-obstacle{\r\n  position:absolute;\r\n  width:12px;\r\n  height:12px;\r\n  border-radius:999px;\r\n  background:#fff;\r\n  box-shadow:0 0 20px rgba(255,255,255,.55);\r\n  z-index:4;\r\n}\r\n\r\n.ds-robot-obstacle::before,\r\n.ds-robot-obstacle::after{\r\n  content:\"\";\r\n  position:absolute;\r\n  inset:-20px;\r\n  border-radius:999px;\r\n  border:1px solid rgba(255,255,255,.22);\r\n  animation:dsObstaclePulse 2.7s ease-out infinite;\r\n}\r\n\r\n.ds-robot-obstacle::after{\r\n  inset:-34px;\r\n  animation-delay:.45s;\r\n  border-color:rgba(23,197,243,.18);\r\n}\r\n\r\n.ds-robot-obstacle.o1{left:18%;top:28%}\r\n.ds-robot-obstacle.o2{right:17%;top:38%}\r\n.ds-robot-obstacle.o3{left:29%;bottom:18%}\r\n\r\n@keyframes dsObstaclePulse{\r\n  from{opacity:.78;transform:scale(.35)}\r\n  to{opacity:0;transform:scale(1.35)}\r\n}\r\n\r\n.ds-avoid-path{\r\n  position:absolute;\r\n  left:18%;\r\n  top:32%;\r\n  width:64%;\r\n  height:46%;\r\n  z-index:2;\r\n  border:1px dashed rgba(23,197,243,.30);\r\n  border-left-color:transparent;\r\n  border-bottom-color:transparent;\r\n  border-radius:54% 46% 56% 44%;\r\n  transform:rotate(14deg);\r\n  opacity:.9;\r\n  animation:dsAvoidPath 4.6s ease-in-out infinite;\r\n}\r\n\r\n@keyframes dsAvoidPath{\r\n  0%,100%{opacity:.42;filter:drop-shadow(0 0 0 rgba(23,197,243,0))}\r\n  50%{opacity:1;filter:drop-shadow(0 0 14px rgba(23,197,243,.28))}\r\n}\r\n\r\n.ds-robot-alert{\r\n  position:absolute;\r\n  z-index:6;\r\n  padding:9px 12px;\r\n  border-radius:14px;\r\n  border:1px solid rgba(255,255,255,.13);\r\n  background:rgba(5,13,25,.72);\r\n  backdrop-filter:blur(16px);\r\n  color:rgba(255,255,255,.82);\r\n  font-size:11px;\r\n  font-weight:800;\r\n  letter-spacing:.08em;\r\n  text-transform:uppercase;\r\n  box-shadow:0 16px 44px rgba(0,0,0,.24);\r\n}\r\n\r\n.ds-robot-alert.a1{left:5%;top:10%}\r\n.ds-robot-alert.a2{right:4%;bottom:8%;color:var(--ds-cyan)}\r\n\r\n@media(max-width:980px){\r\n  #integrations.ds-integration-experience{\r\n    margin-top:46px!important;\r\n    scroll-margin-top:132px;\r\n  }\r\n}\r\n\r\n\r\n\r\n\/* ===== V5 PATCH: CODE STREAM LEFT EDGE \/ UNDER BOXES \/ WHITE 30% ===== *\/\r\n.ds-code-stream{\r\n  left:0!important;\r\n  top:calc(92px + var(--wp-admin--admin-bar--height, 0px))!important;\r\n  width:min(760px,52vw)!important;\r\n  height:54vh!important;\r\n  z-index:2!important;\r\n  padding-left:0!important;\r\n  margin-left:0!important;\r\n  color:rgba(255,255,255,.30)!important;\r\n  opacity:0!important;\r\n  mix-blend-mode:normal!important;\r\n  text-shadow:0 0 10px rgba(255,255,255,.10)!important;\r\n  font-size:10px!important;\r\n  line-height:1.58!important;\r\n  pointer-events:none!important;\r\n  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 6%,#000 66%,rgba(0,0,0,.55) 84%,transparent 100%)!important;\r\n  mask-image:linear-gradient(to bottom,transparent 0%,#000 6%,#000 66%,rgba(0,0,0,.55) 84%,transparent 100%)!important;\r\n}\r\n\r\nbody.ds-ready .ds-code-stream{\r\n  opacity:1!important;\r\n  transform:none!important;\r\n}\r\n\r\n.ds-code-stream::before{\r\n  display:none!important;\r\n}\r\n\r\n.ds-code-stream-head{\r\n  margin-left:0!important;\r\n  padding:0 0 7px 0!important;\r\n  border:0!important;\r\n  background:transparent!important;\r\n  color:rgba(255,255,255,.30)!important;\r\n  font-size:8.5px!important;\r\n  letter-spacing:.16em!important;\r\n  text-shadow:none!important;\r\n}\r\n\r\n.ds-code-stream-head::before{\r\n  background:rgba(255,255,255,.34)!important;\r\n  box-shadow:0 0 12px rgba(255,255,255,.20)!important;\r\n}\r\n\r\n.ds-code-stream-lines{\r\n  padding-left:0!important;\r\n  margin-left:0!important;\r\n  max-width:100%!important;\r\n}\r\n\r\n.ds-code-line,\r\n.ds-code-line.is-ok,\r\n.ds-code-line.is-warn,\r\n.ds-code-line.is-cyan,\r\n.ds-code-line.is-dim{\r\n  color:rgba(255,255,255,.30)!important;\r\n  text-shadow:0 0 10px rgba(255,255,255,.08)!important;\r\n}\r\n\r\n.ds-code-line.is-dim{\r\n  color:rgba(255,255,255,.18)!important;\r\n}\r\n\r\n.ds-code-line::after{\r\n  color:rgba(255,255,255,.30)!important;\r\n}\r\n\r\n\/* content\/cards always above the background code layer *\/\r\n.ds-header,\r\n.ds-scroll-guide{\r\n  z-index:9998!important;\r\n}\r\n\r\n.ds-main,\r\n.ds-section,\r\n.ds-container,\r\n.ds-card,\r\n.ds-showcase,\r\n.ds-api-panel,\r\n.ds-robot-left,\r\n.ds-robot-right-card,\r\n.ds-integration-experience,\r\n.ds-cta,\r\n.ds-page-footer{\r\n  position:relative;\r\n  z-index:6;\r\n}\r\n\r\n#ds-particles{\r\n  z-index:1!important;\r\n}\r\n\r\n@media(max-width:1180px){\r\n  .ds-code-stream{\r\n    width:58vw!important;\r\n    font-size:9px!important;\r\n  }\r\n}\r\n\r\n@media(max-width:980px){\r\n  .ds-code-stream{display:none!important}\r\n}\r\n\r\n\r\n\/* ===== V6 FIX: MAKE BACKGROUND CODE VISIBLE BUT STILL UNDER CONTENT ===== *\/\r\n.ds-main{\r\n  position:relative!important;\r\n  z-index:auto!important;\r\n}\r\n\r\n.ds-section{\r\n  position:relative!important;\r\n  z-index:auto!important;\r\n}\r\n\r\n.ds-code-stream{\r\n  position:fixed!important;\r\n  left:0!important;\r\n  top:calc(88px + var(--wp-admin--admin-bar--height, 0px))!important;\r\n  width:min(820px,56vw)!important;\r\n  height:58vh!important;\r\n  z-index:5!important;\r\n  padding-left:0!important;\r\n  margin-left:0!important;\r\n  pointer-events:none!important;\r\n  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,\"Liberation Mono\",monospace!important;\r\n  font-size:11.5px!important;\r\n  line-height:1.64!important;\r\n  font-weight:700!important;\r\n  letter-spacing:.015em!important;\r\n  color:rgba(255,255,255,.34)!important;\r\n  opacity:0!important;\r\n  transform:translateY(6px)!important;\r\n  mix-blend-mode:normal!important;\r\n  text-shadow:0 0 12px rgba(255,255,255,.13)!important;\r\n  filter:none!important;\r\n  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 5%,#000 74%,rgba(0,0,0,.72) 88%,transparent 100%)!important;\r\n  mask-image:linear-gradient(to bottom,transparent 0%,#000 5%,#000 74%,rgba(0,0,0,.72) 88%,transparent 100%)!important;\r\n}\r\n\r\nbody.ds-ready .ds-code-stream{\r\n  opacity:1!important;\r\n  transform:translateY(0)!important;\r\n}\r\n\r\n.ds-code-stream::before{\r\n  display:none!important;\r\n}\r\n\r\n.ds-code-stream-head{\r\n  margin-left:0!important;\r\n  padding:0 0 8px 0!important;\r\n  border:0!important;\r\n  background:transparent!important;\r\n  color:rgba(255,255,255,.34)!important;\r\n  font-size:9px!important;\r\n  font-weight:800!important;\r\n  letter-spacing:.18em!important;\r\n  text-shadow:0 0 10px rgba(255,255,255,.10)!important;\r\n}\r\n\r\n.ds-code-stream-head::before{\r\n  background:rgba(255,255,255,.34)!important;\r\n  box-shadow:0 0 12px rgba(255,255,255,.18)!important;\r\n}\r\n\r\n.ds-code-stream-lines{\r\n  padding-left:0!important;\r\n  margin-left:0!important;\r\n  max-width:100%!important;\r\n}\r\n\r\n.ds-code-line,\r\n.ds-code-line.is-ok,\r\n.ds-code-line.is-warn,\r\n.ds-code-line.is-cyan,\r\n.ds-code-line.is-dim{\r\n  color:rgba(255,255,255,.34)!important;\r\n  text-shadow:0 0 12px rgba(255,255,255,.11)!important;\r\n}\r\n\r\n.ds-code-line.is-dim{\r\n  color:rgba(255,255,255,.24)!important;\r\n}\r\n\r\n.ds-code-line::after{\r\n  color:rgba(255,255,255,.32)!important;\r\n}\r\n\r\n\/* Section backgrounds stay behind stream; real content stays above stream. *\/\r\n.ds-bg-section::before,\r\n.ds-bg-section::after,\r\n.ds-hero::before,\r\n.ds-hero::after,\r\n.ds-hero-video{\r\n  z-index:0!important;\r\n}\r\n\r\n.ds-container,\r\n.ds-hero-layout,\r\n.ds-card,\r\n.ds-showcase,\r\n.ds-api-panel,\r\n.ds-robot-left,\r\n.ds-robot-right-card,\r\n.ds-integration-experience,\r\n.ds-cta{\r\n  position:relative!important;\r\n  z-index:6!important;\r\n}\r\n\r\n.ds-header,\r\n.ds-scroll-guide{\r\n  z-index:9998!important;\r\n}\r\n\r\n#ds-particles{\r\n  z-index:1!important;\r\n}\r\n\r\n@media(max-width:1180px){\r\n  .ds-code-stream{\r\n    width:62vw!important;\r\n    font-size:10px!important;\r\n  }\r\n}\r\n\r\n@media(max-width:980px){\r\n  .ds-code-stream{display:none!important;}\r\n}\r\n\r\n\r\n\r\n\/* ===== HEADER LAYOUT LOCK \u2014 status text no longer shifts menu ===== *\/\r\n@media (min-width:981px){\r\n  .ds-header{\r\n    grid-template-columns:76px minmax(360px,1fr) 505px!important;\r\n  }\r\n\r\n  .ds-nav{\r\n    justify-self:center!important;\r\n    width:360px!important;\r\n    min-width:360px!important;\r\n    max-width:360px!important;\r\n  }\r\n\r\n  .ds-actions{\r\n    justify-self:end!important;\r\n    width:505px!important;\r\n    min-width:505px!important;\r\n    max-width:505px!important;\r\n    justify-content:flex-end!important;\r\n    flex-shrink:0!important;\r\n  }\r\n\r\n  .ds-status-pill{\r\n    width:265px!important;\r\n    min-width:265px!important;\r\n    max-width:265px!important;\r\n    flex:0 0 265px!important;\r\n    justify-content:flex-start!important;\r\n  }\r\n\r\n  .ds-status-text{\r\n    display:block!important;\r\n    max-width:220px!important;\r\n    overflow:hidden!important;\r\n    text-overflow:ellipsis!important;\r\n    white-space:nowrap!important;\r\n  }\r\n\r\n  .ds-lang{\r\n    width:86px!important;\r\n    min-width:86px!important;\r\n    text-align:center!important;\r\n  }\r\n\r\n  .ds-demo{\r\n    width:126px!important;\r\n    min-width:126px!important;\r\n  }\r\n}\r\n\r\n@media (min-width:981px) and (max-width:1180px){\r\n  .ds-header{\r\n    width:calc(100vw - 28px)!important;\r\n    grid-template-columns:64px minmax(310px,1fr) 445px!important;\r\n    gap:12px!important;\r\n    padding-left:14px!important;\r\n    padding-right:14px!important;\r\n  }\r\n\r\n  .ds-nav{\r\n    width:310px!important;\r\n    min-width:310px!important;\r\n    max-width:310px!important;\r\n    gap:14px!important;\r\n  }\r\n\r\n  .ds-actions{\r\n    width:445px!important;\r\n    min-width:445px!important;\r\n    max-width:445px!important;\r\n    gap:8px!important;\r\n  }\r\n\r\n  .ds-status-pill{\r\n    width:230px!important;\r\n    min-width:230px!important;\r\n    max-width:230px!important;\r\n    flex-basis:230px!important;\r\n    padding-left:10px!important;\r\n    padding-right:10px!important;\r\n  }\r\n\r\n  .ds-status-text{\r\n    max-width:188px!important;\r\n  }\r\n\r\n  .ds-lang{\r\n    width:78px!important;\r\n    min-width:78px!important;\r\n    font-size:10px!important;\r\n  }\r\n\r\n  .ds-demo{\r\n    width:112px!important;\r\n    min-width:112px!important;\r\n    padding-left:12px!important;\r\n    padding-right:12px!important;\r\n    font-size:11px!important;\r\n  }\r\n}\r\n\r\n\r\n\r\n\/* ===== LANGUAGE SELECTOR HARD FIX \u2014 NO PINK HIGHLIGHT ===== *\/\r\nhtml body .ds-mount .ds-lang,\r\nhtml body .ds-mount .ds-lang *,\r\nhtml body .ds-mount [data-lang-btn]{\r\n  -webkit-tap-highlight-color:transparent!important;\r\n}\r\n\r\nhtml body .ds-mount .ds-lang button,\r\nhtml body .ds-mount .ds-lang button:hover,\r\nhtml body .ds-mount .ds-lang button:focus,\r\nhtml body .ds-mount .ds-lang button:active,\r\nhtml body .ds-mount .ds-lang button:focus-visible,\r\nhtml body .ds-mount .ds-lang button.is-active{\r\n  appearance:none!important;\r\n  -webkit-appearance:none!important;\r\n  background:transparent!important;\r\n  background-color:transparent!important;\r\n  background-image:none!important;\r\n  border:0!important;\r\n  outline:0!important;\r\n  box-shadow:none!important;\r\n  text-decoration:none!important;\r\n}\r\n\r\nhtml body .ds-mount .ds-lang button:focus-visible{\r\n  color:#fff!important;\r\n  text-shadow:0 0 16px rgba(255,255,255,.24)!important;\r\n}\r\n\r\nhtml body .ds-mount .ds-lang button::selection,\r\nhtml body .ds-mount .ds-lang span::selection{\r\n  background:rgba(23,197,243,.22)!important;\r\n  color:#fff!important;\r\n}\r\n\r\n\r\n\r\n\/* ===== HEADER V8.2 \u2014 DEMO BUTTON REMOVED \/ LANGUAGE FIT FIX ===== *\/\r\n.ds-demo{\r\n  display:none!important;\r\n}\r\n\r\n@media (min-width:981px){\r\n  .ds-header{\r\n    grid-template-columns:76px minmax(360px,1fr) 385px!important;\r\n  }\r\n\r\n  .ds-actions{\r\n    width:385px!important;\r\n    min-width:385px!important;\r\n    max-width:385px!important;\r\n    justify-content:flex-end!important;\r\n    gap:10px!important;\r\n  }\r\n\r\n  .ds-status-pill{\r\n    width:265px!important;\r\n    min-width:265px!important;\r\n    max-width:265px!important;\r\n    flex:0 0 265px!important;\r\n  }\r\n\r\n  .ds-lang{\r\n    width:106px!important;\r\n    min-width:106px!important;\r\n    max-width:106px!important;\r\n    flex:0 0 106px!important;\r\n    justify-content:center!important;\r\n    text-align:center!important;\r\n  }\r\n}\r\n\r\n@media (min-width:981px) and (max-width:1180px){\r\n  .ds-header{\r\n    grid-template-columns:64px minmax(310px,1fr) 330px!important;\r\n  }\r\n\r\n  .ds-actions{\r\n    width:330px!important;\r\n    min-width:330px!important;\r\n    max-width:330px!important;\r\n    gap:8px!important;\r\n  }\r\n\r\n  .ds-status-pill{\r\n    width:220px!important;\r\n    min-width:220px!important;\r\n    max-width:220px!important;\r\n    flex-basis:220px!important;\r\n  }\r\n\r\n  .ds-status-text{\r\n    max-width:178px!important;\r\n  }\r\n\r\n  .ds-lang{\r\n    width:96px!important;\r\n    min-width:96px!important;\r\n    max-width:96px!important;\r\n    flex-basis:96px!important;\r\n    font-size:10px!important;\r\n  }\r\n}\r\n\/* FIX: remove footer text that collides with centered back-to-top button *\/\r\n.ds-page-footer .ds-footer-bottom,\r\n.ds-page-footer .ds-footer-inner{\r\n  display:none!important;\r\n}\r\n\r\n\/* zostawiamy tylko troch\u0119 ciemnej przestrzeni na dole *\/\r\n.ds-page-footer{\r\n  min-height:130px!important;\r\n  padding:70px 0 90px!important;\r\n  border-top:none!important;\r\n}\r\n\r\n\r\n\r\n\/* ===== FINAL FIX: HERO VIDEO -> NEXT SECTION SOFT BLEND ===== *\/\r\n.ds-hero-video{\r\n  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 58%,rgba(0,0,0,.88) 70%,rgba(0,0,0,.52) 84%,transparent 100%)!important;\r\n  mask-image:linear-gradient(to bottom,#000 0%,#000 58%,rgba(0,0,0,.88) 70%,rgba(0,0,0,.52) 84%,transparent 100%)!important;\r\n}\r\n.ds-hero::after{\r\n  background:\r\n    radial-gradient(circle at 74% 38%,rgba(23,197,243,.16),transparent 34%),\r\n    radial-gradient(circle at 22% 22%,rgba(255,255,255,.055),transparent 24%),\r\n    radial-gradient(circle at 58% 72%,rgba(23,197,243,.09),transparent 36%),\r\n    linear-gradient(180deg,transparent 0%,transparent 54%,rgba(2,7,19,.18) 68%,rgba(2,7,19,.68) 84%,rgba(2,7,19,1) 100%)!important;\r\n}\r\n.ds-hero + .ds-bg-section{\r\n  margin-top:-220px!important;\r\n  padding-top:345px!important;\r\n  box-shadow:0 -130px 170px rgba(2,7,19,.98), inset 0 150px 130px rgba(2,7,19,.74)!important;\r\n}\r\n.ds-hero + .ds-bg-section::after{\r\n  background:\r\n    linear-gradient(180deg,rgba(2,7,19,1) 0%,rgba(2,7,19,.88) 8%,rgba(2,7,19,.46) 22%,rgba(2,7,19,.24) 48%,rgba(2,7,19,.42) 78%,rgba(2,7,19,.88) 94%,rgba(2,7,19,1) 100%),\r\n    linear-gradient(90deg,rgba(2,7,19,.82) 0%,rgba(2,7,19,.58) 40%,rgba(2,7,19,.38) 100%),\r\n    radial-gradient(circle at 74% 38%,rgba(23,197,243,.10),transparent 34%)!important;\r\n}\r\n@media(max-width:980px){\r\n  .ds-hero + .ds-bg-section{margin-top:-120px!important;padding-top:220px!important;}\r\n}\r\n\r\n<\/style>\r\n\r\n<div class=\"ds-mount\" id=\"top\">\r\n  <div class=\"ds-intro\" id=\"dsIntro\">\r\n    <div class=\"ds-intro-inner\">\r\n      <img decoding=\"async\" class=\"ds-intro-logo\" src=\"https:\/\/digitalsolution.is\/wp-content\/uploads\/2026\/07\/logo-DS.png?attachment_id=42\" alt=\"DigitalSolution\">\r\n      <h2 class=\"ds-intro-title\">Welcome to the future.<\/h2>\r\n      <div class=\"ds-loader\"><span><\/span><\/div>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <canvas id=\"ds-particles\"><\/canvas>\r\n  <div class=\"ds-code-stream\" id=\"dsCodeStream\" aria-hidden=\"true\">\r\n    <div class=\"ds-code-stream-head\">API \/ OAuth \/ LiDAR telemetry<\/div>\r\n    <div class=\"ds-code-stream-lines\" id=\"dsCodeStreamLines\"><\/div>\r\n  <\/div>\r\n  <div class=\"ds-cursor-glow\" id=\"dsGlow\"><\/div>\r\n\r\n  <button class=\"ds-scroll-guide\" id=\"dsScrollGuide\" type=\"button\" aria-label=\"Discover more\">\r\n    <span class=\"ds-scroll-guide-label\" id=\"dsScrollGuideLabel\">Discover more<\/span>\r\n    <span class=\"ds-scroll-guide-icon\">\r\n      <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\r\n        <path d=\"M12 5v13\"><\/path>\r\n        <path d=\"M6.5 12.5L12 18l5.5-5.5\"><\/path>\r\n      <\/svg>\r\n    <\/span>\r\n  <\/button>\r\n\r\n  <header class=\"ds-header\">\r\n    <a class=\"ds-logo-link\" href=\"#top\" aria-label=\"DigitalSolution home\">\r\n      <img decoding=\"async\" class=\"ds-logo-img\" src=\"https:\/\/digitalsolution.is\/wp-content\/uploads\/2026\/07\/logo-bez-napiosu.png?attachment_id=95\" alt=\"DigitalSolution\">\r\n    <\/a>\r\n\r\n    <nav class=\"ds-nav\">\r\n      <a href=\"#solutions\">Solutions<\/a>\r\n      <a href=\"#esl\">ESL<\/a>\r\n      <a href=\"#api\">API<\/a>\r\n      <a href=\"#robots\">Robots<\/a>\r\n      <a href=\"#contact\">Contact<\/a>\r\n    <\/nav>\r\n\r\n    <div class=\"ds-actions\">\r\n      <div class=\"ds-status-pill\" id=\"dsStatusPill\">\r\n        <span class=\"ds-status-dot\"><\/span>\r\n        <span class=\"ds-status-text\" id=\"dsStatusText\">Systems Online<\/span>\r\n      <\/div>\r\n      <div class=\"ds-lang\" role=\"group\" aria-label=\"Language selector\">\r\n        <button type=\"button\" data-lang-btn=\"is\" class=\"is-active\">IS<\/button><span>\/<\/span><button type=\"button\" data-lang-btn=\"en\">EN<\/button><span>\/<\/span><button type=\"button\" data-lang-btn=\"no\">NO<\/button><span>\/<\/span><button type=\"button\" data-lang-btn=\"pl\">PL<\/button>\r\n      <\/div>\r\n    <\/div>\r\n  <\/header>\r\n\r\n  <main class=\"ds-main\">\r\n    <section class=\"ds-hero\" data-status=\"Systems Online\">\r\n      <video class=\"ds-hero-video\" autoplay muted loop playsinline preload=\"auto\">\r\n        <source src=\"https:\/\/digitalsolution.is\/wp-content\/uploads\/2026\/07\/Header-2.mp4\" type=\"video\/mp4\">\r\n      <\/video>\r\n\r\n      <div class=\"ds-hero-layout\">\r\n        <div class=\"ds-hero-copy reveal ds-hero-dynamic\" id=\"dsHeroDynamic\">\r\n          <div class=\"ds-hero-systemline\">\r\n            <span id=\"dsHeroCounter\">01 \/ 04<\/span>\r\n            <span class=\"ds-hero-progress\"><b id=\"dsHeroProgress\"><\/b><\/span>\r\n            <span id=\"dsHeroMode\">ESL Sync Ready<\/span>\r\n          <\/div>\r\n\r\n          <div class=\"ds-kicker\" id=\"dsHeroKicker\">Electronic shelf labels<\/div>\r\n\r\n          <h1 class=\"ds-h1\" id=\"dsHeroTitle\">\r\n            Prices<br>update<br><span>themselves.<\/span>\r\n          <\/h1>\r\n\r\n          <p class=\"ds-lead\" id=\"dsHeroLead\">\r\n            Electronic Shelf Labels synchronized with your sales systems, product database or ERP.\r\n          <\/p>\r\n        <\/div>\r\n\r\n        <div class=\"ds-hero-side\">\r\n          <div class=\"ds-hero-chip-wrap layout-esl\" id=\"dsHeroChipWrap\">\r\n            <div class=\"ds-hero-chip\" id=\"dsHeroChip1\">\r\n              <small>Live pricing<\/small>\r\n              <strong><span>ESL<\/span> labels synced in real time<\/strong>\r\n            <\/div>\r\n\r\n            <div class=\"ds-hero-chip\" id=\"dsHeroChip2\">\r\n              <small>System status<\/small>\r\n              <strong>API \u00b7 200 OK \u00b7 Price locked<\/strong>\r\n            <\/div>\r\n\r\n            <div class=\"ds-hero-chip\" id=\"dsHeroChip3\">\r\n              <small>Retail automation<\/small>\r\n              <strong>Less manual work on every shelf<\/strong>\r\n            <\/div>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/section>\r\n\r\n    <section id=\"solutions\" class=\"ds-section ds-bg-section\" data-status=\"Retail Tech Stack\">\r\n      <img class=\"ds-bg-img\" src=\"https:\/\/digitalsolution.is\/wp-content\/uploads\/2026\/07\/retail.jpg\" alt=\"\" loading=\"eager\" decoding=\"async\">\r\n\r\n      <div class=\"ds-container reveal\">\r\n        <h2 class=\"ds-title\">One technology partner. <span>Multiple systems.<\/span><\/h2>\r\n        <p class=\"ds-sub\">\r\n          We build the bridge between retail hardware, sales systems, e-commerce platforms and automation.\r\n        <\/p>\r\n\r\n        <div class=\"ds-cards ds-stagger-cards\">\r\n          <div class=\"ds-card\">\r\n            <div class=\"ds-icon\">\u2301<\/div>\r\n            <h3>Electronic Shelf Labels<\/h3>\r\n            <p>Real-time price updates, reduced manual work and precise shelf communication.<\/p>\r\n          <\/div>\r\n\r\n          <div class=\"ds-card\">\r\n            <div class=\"ds-icon\">&lt;\/&gt;<\/div>\r\n            <h3>API Integrations<\/h3>\r\n            <p>Connect Business Central, POS systems, Shopify, WooCommerce and internal tools.<\/p>\r\n          <\/div>\r\n\r\n          <div class=\"ds-card\">\r\n            <div class=\"ds-icon\">\u25cc<\/div>\r\n            <h3>Cleaning Robots<\/h3>\r\n            <p>Autonomous cleaning solutions for commercial spaces, shops and facilities.<\/p>\r\n          <\/div>\r\n\r\n          <div class=\"ds-card\">\r\n            <div class=\"ds-icon\">\u232c<\/div>\r\n            <h3>Future Robotics<\/h3>\r\n            <p>Humanoid robotics and AI automation as the next layer of business operations.<\/p>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/section>\r\n\r\n    <section id=\"esl\" class=\"ds-section ds-bg-section\" data-status=\"ESL Sync Ready\">\r\n      <img class=\"ds-bg-img\" src=\"https:\/\/digitalsolution.is\/wp-content\/uploads\/2026\/07\/esl.jpg\" alt=\"\" loading=\"eager\" decoding=\"async\">\r\n\r\n      <div class=\"ds-container\">\r\n        <div class=\"ds-showcase reveal\">\r\n          <div class=\"ds-showcase-copy\">\r\n            <div class=\"ds-section-tag\">Electronic Shelf Labels<\/div>\r\n            <h2 class=\"ds-title\">No more dirty paper tags. <span>Clean digital pricing.<\/span><\/h2>\r\n            <p class=\"ds-sub\">\r\n              Ready ESL solutions for stores that want to finally get rid of dirty, hard-to-remove labels and manual price rewriting. Prices can be changed centrally and pushed directly to the shelf.\r\n            <\/p>\r\n\r\n            <div class=\"ds-feature-list\">\r\n              <div class=\"ds-feature\">\r\n                <div>\r\n                  <b>End manual price writing<\/b>\r\n                  <span>No more handwritten labels, scraped stickers or messy shelf communication.<\/span>\r\n                <\/div>\r\n              <\/div>\r\n\r\n              <div class=\"ds-feature\">\r\n                <div>\r\n                  <b>Replaceable battery \u2014 up to 5 years<\/b>\r\n                  <span>Our devices are built for long-term retail use with a replaceable battery that lasts up to 5 years.<\/span>\r\n                <\/div>\r\n              <\/div>\r\n\r\n              <div class=\"ds-feature\">\r\n                <div>\r\n                  <b>Professional implementation team<\/b>\r\n                  <span>We guide the whole rollout: planning, configuration, installation, sync logic and store support.<\/span>\r\n                <\/div>\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n\r\n          <div class=\"ds-showcase-visual\">\r\n            <div class=\"ds-esl-animation-panel\">\r\n              <div class=\"ds-manual-chaos\">\r\n                <h3>End of manual price labels.<\/h3>\r\n                <p>\r\n                  Paper tags, sticky glue, marker corrections and manual shelf updates are replaced by one clean digital workflow.\r\n                <\/p>\r\n                <div class=\"ds-manual-symbols\">\r\n                  <span class=\"ds-symbol-chip\">old tag<\/span>\r\n                  <span class=\"ds-symbol-chip\">glue<\/span>\r\n                  <span class=\"ds-symbol-chip\">manual<\/span>\r\n                  <span class=\"ds-symbol-chip\">scrape<\/span>\r\n                  <span class=\"ds-symbol-chip\">rewrite<\/span>\r\n                <\/div>\r\n              <\/div>\r\n\r\n              <div class=\"ds-label-stack ds-smart-label-stack\">\r\n                <div class=\"ds-label-device\">\r\n                  <span class=\"ds-label-led\"><\/span>\r\n                  <div class=\"ds-label-price ds-animated-price\" data-target=\"499\">\r\n                    <span class=\"ds-price-digit\">0<\/span><span class=\"ds-price-digit\">0<\/span><span class=\"ds-price-digit\">0<\/span>\r\n                    <span class=\"ds-price-currency\">ISK<\/span>\r\n                  <\/div>\r\n                  <div class=\"ds-label-meta ds-waiting\">WAITING<\/div>\r\n                <\/div>\r\n\r\n                <div class=\"ds-label-device\">\r\n                  <span class=\"ds-label-led\"><\/span>\r\n                  <div class=\"ds-label-price ds-animated-price\" data-target=\"1299\">\r\n                    <span class=\"ds-price-digit\">0<\/span><span class=\"ds-price-digit\">0<\/span><span class=\"ds-price-digit\">0<\/span><span class=\"ds-price-digit\">0<\/span>\r\n                    <span class=\"ds-price-currency\">ISK<\/span>\r\n                  <\/div>\r\n                  <div class=\"ds-label-meta ds-waiting\">WAITING<\/div>\r\n                <\/div>\r\n\r\n                <div class=\"ds-label-device\">\r\n                  <span class=\"ds-label-led\"><\/span>\r\n                  <div class=\"ds-label-price ds-animated-price\" data-target=\"899\">\r\n                    <span class=\"ds-price-digit\">0<\/span><span class=\"ds-price-digit\">0<\/span><span class=\"ds-price-digit\">0<\/span>\r\n                    <span class=\"ds-price-currency\">ISK<\/span>\r\n                  <\/div>\r\n                  <div class=\"ds-label-meta ds-waiting\">WAITING<\/div>\r\n                <\/div>\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/section>\r\n\r\n    <section id=\"api\" class=\"ds-section ds-bg-section\" data-status=\"API Bridge Active\">\r\n      <img class=\"ds-bg-img\" src=\"https:\/\/digitalsolution.is\/wp-content\/uploads\/2026\/07\/customai.jpg\" alt=\"\" loading=\"eager\" decoding=\"async\">\r\n\r\n      <div class=\"ds-container\">\r\n        <div class=\"ds-api-grid reveal\">\r\n          <div class=\"ds-api-panel\">\r\n            <div class=\"ds-section-tag\">Custom API Integrations<\/div>\r\n            <h2 class=\"ds-title\">Connect sales systems. <span>Automate the flow.<\/span><\/h2>\r\n            <p class=\"ds-sub\">\r\n              We build custom integrations between ERP, POS, e-commerce, inventory systems and smart retail hardware.\r\n            <\/p>\r\n\r\n            <div class=\"ds-api-flow\">\r\n              <div class=\"ds-api-step\">\r\n                <div class=\"ds-step-num\">01<\/div>\r\n                <div>\r\n                  <b>Connect systems<\/b>\r\n                  <span>Business Central, POS, Shopify, WooCommerce, inventory databases and custom software.<\/span>\r\n                <\/div>\r\n                <div class=\"ds-api-status\">ONLINE<\/div>\r\n              <\/div>\r\n\r\n              <div class=\"ds-api-step\">\r\n                <div class=\"ds-step-num\">02<\/div>\r\n                <div>\r\n                  <b>Normalize data<\/b>\r\n                  <span>Products, prices, stock, orders and customer workflows translated into one clean logic.<\/span>\r\n                <\/div>\r\n                <div class=\"ds-api-status\">200 OK<\/div>\r\n              <\/div>\r\n\r\n              <div class=\"ds-api-step\">\r\n                <div class=\"ds-step-num\">03<\/div>\r\n                <div>\r\n                  <b>Automate operations<\/b>\r\n                  <span>Price updates, inventory sync, notifications, reports and internal process automation.<\/span>\r\n                <\/div>\r\n                <div class=\"ds-api-status\">SYNC<\/div>\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n\r\n          <div class=\"ds-api-panel dark\">\r\n            <div class=\"ds-code-window\">\r\n              <div class=\"ds-code-window-inner\">\r\n                01&nbsp; POST <span class=\"cyan\">\/api\/v1\/prices\/update<\/span><br>\r\n                02&nbsp; Authorization: Bearer ********<br>\r\n                03&nbsp; status: <span class=\"green\">200 OK<\/span><br>\r\n                04&nbsp; source: Business Central<br>\r\n                05&nbsp; target: Electronic Shelf Label<br>\r\n                06&nbsp; queue: PRICE_SYNC<br><br>\r\n\r\n                07&nbsp; PATCH <span class=\"cyan\">\/inventory\/live<\/span><br>\r\n                08&nbsp; stock_changed: true<br>\r\n                09&nbsp; webhook_received: true<br>\r\n                10&nbsp; processed: <span class=\"green\">stable<\/span><br><br>\r\n\r\n                11&nbsp; ERP \u2192 API Layer \u2192 POS<br>\r\n                12&nbsp; POS \u2192 API Layer \u2192 Shopify<br>\r\n                13&nbsp; Shopify \u2192 API Layer \u2192 ESL<br><br>\r\n\r\n                14&nbsp; automation.status = <span class=\"green\">READY<\/span><br>\r\n                15&nbsp; labels.updated = 1842<br>\r\n                16&nbsp; errors = 0<br><br>\r\n\r\n                17&nbsp; GET <span class=\"cyan\">\/robotics\/fleet\/status<\/span><br>\r\n                18&nbsp; cleaning_routes: active<br>\r\n                19&nbsp; sync: <span class=\"green\">complete<\/span><br><br>\r\n\r\n                20&nbsp; POST <span class=\"cyan\">\/workflow\/automation<\/span><br>\r\n                21&nbsp; trigger: order_created<br>\r\n                22&nbsp; action: update_inventory<br>\r\n                23&nbsp; response: <span class=\"green\">200 OK<\/span><br>\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div id=\"integrations\" class=\"ds-integration-experience reveal\">\r\n          <div class=\"ds-integration-head\">\r\n            <div>\r\n              <div class=\"ds-section-tag\">Integration experience<\/div>\r\n              <h3>We connect the tools your business already uses.<\/h3>\r\n            <\/div>\r\n            <p>\r\n              ERP, POS, e-commerce, payments, analytics, delivery platforms and custom APIs \u2014 connected into one automated workflow.\r\n            <\/p>\r\n          <\/div>\r\n\r\n          <div class=\"ds-marquee\">\r\n            <div class=\"ds-marquee-track\">\r\n              <div class=\"ds-integration-badge\"><i>BC<\/i>Business Central <span>ERP<\/span><\/div>\r\n              <div class=\"ds-integration-badge\"><i>D365<\/i>Dynamics 365 <span>ERP<\/span><\/div>\r\n              <div class=\"ds-integration-badge\"><i>SAP<\/i>SAP <span>ERP<\/span><\/div>\r\n              <div class=\"ds-integration-badge\"><i>ODO<\/i>Odoo <span>ERP<\/span><\/div>\r\n              <div class=\"ds-integration-badge\"><i>SF<\/i>Salesforce <span>CRM<\/span><\/div>\r\n              <div class=\"ds-integration-badge\"><i>SHOP<\/i>Shopify <span>E-com<\/span><\/div>\r\n              <div class=\"ds-integration-badge\"><i>WOO<\/i>WooCommerce <span>E-com<\/span><\/div>\r\n              <div class=\"ds-integration-badge\"><i>WOLT<\/i>Wolt <span>Delivery<\/span><\/div>\r\n              <div class=\"ds-integration-badge\"><i>API<\/i>REST API <span>Custom<\/span><\/div>\r\n              <div class=\"ds-integration-badge\"><i>GQL<\/i>GraphQL <span>Data<\/span><\/div>\r\n\r\n              <div class=\"ds-integration-badge\"><i>BC<\/i>Business Central <span>ERP<\/span><\/div>\r\n              <div class=\"ds-integration-badge\"><i>D365<\/i>Dynamics 365 <span>ERP<\/span><\/div>\r\n              <div class=\"ds-integration-badge\"><i>SAP<\/i>SAP <span>ERP<\/span><\/div>\r\n              <div class=\"ds-integration-badge\"><i>ODO<\/i>Odoo <span>ERP<\/span><\/div>\r\n              <div class=\"ds-integration-badge\"><i>SF<\/i>Salesforce <span>CRM<\/span><\/div>\r\n              <div class=\"ds-integration-badge\"><i>SHOP<\/i>Shopify <span>E-com<\/span><\/div>\r\n              <div class=\"ds-integration-badge\"><i>WOO<\/i>WooCommerce <span>E-com<\/span><\/div>\r\n              <div class=\"ds-integration-badge\"><i>WOLT<\/i>Wolt <span>Delivery<\/span><\/div>\r\n              <div class=\"ds-integration-badge\"><i>API<\/i>REST API <span>Custom<\/span><\/div>\r\n              <div class=\"ds-integration-badge\"><i>GQL<\/i>GraphQL <span>Data<\/span><\/div>\r\n            <\/div>\r\n          <\/div>\r\n\r\n          <div class=\"ds-marquee reverse\">\r\n            <div class=\"ds-marquee-track\">\r\n              <div class=\"ds-integration-badge\"><i>POS<\/i>Lightspeed <span>POS<\/span><\/div>\r\n              <div class=\"ds-integration-badge\"><i>SQR<\/i>Square <span>POS<\/span><\/div>\r\n              <div class=\"ds-integration-badge\"><i>STR<\/i>Stripe <span>Payments<\/span><\/div>\r\n              <div class=\"ds-integration-badge\"><i>QB<\/i>QuickBooks <span>Accounting<\/span><\/div>\r\n              <div class=\"ds-integration-badge\"><i>PBI<\/i>Power BI <span>Analytics<\/span><\/div>\r\n              <div class=\"ds-integration-badge\"><i>GDS<\/i>Looker Studio <span>Reports<\/span><\/div>\r\n              <div class=\"ds-integration-badge\"><i>MAKE<\/i>Make <span>Automation<\/span><\/div>\r\n              <div class=\"ds-integration-badge\"><i>ZAP<\/i>Zapier <span>Automation<\/span><\/div>\r\n              <div class=\"ds-integration-badge\"><i>WH<\/i>Webhooks <span>Events<\/span><\/div>\r\n              <div class=\"ds-integration-badge\"><i>ESL<\/i>Electronic Labels <span>Retail<\/span><\/div>\r\n\r\n              <div class=\"ds-integration-badge\"><i>POS<\/i>Lightspeed <span>POS<\/span><\/div>\r\n              <div class=\"ds-integration-badge\"><i>SQR<\/i>Square <span>POS<\/span><\/div>\r\n              <div class=\"ds-integration-badge\"><i>STR<\/i>Stripe <span>Payments<\/span><\/div>\r\n              <div class=\"ds-integration-badge\"><i>QB<\/i>QuickBooks <span>Accounting<\/span><\/div>\r\n              <div class=\"ds-integration-badge\"><i>PBI<\/i>Power BI <span>Analytics<\/span><\/div>\r\n              <div class=\"ds-integration-badge\"><i>GDS<\/i>Looker Studio <span>Reports<\/span><\/div>\r\n              <div class=\"ds-integration-badge\"><i>MAKE<\/i>Make <span>Automation<\/span><\/div>\r\n              <div class=\"ds-integration-badge\"><i>ZAP<\/i>Zapier <span>Automation<\/span><\/div>\r\n              <div class=\"ds-integration-badge\"><i>WH<\/i>Webhooks <span>Events<\/span><\/div>\r\n              <div class=\"ds-integration-badge\"><i>ESL<\/i>Electronic Labels <span>Retail<\/span><\/div>\r\n            <\/div>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/section>\r\n\r\n    <section id=\"robots\" class=\"ds-section ds-bg-section\" data-status=\"Robotics Mode\">\r\n      <img class=\"ds-bg-img\" src=\"https:\/\/digitalsolution.is\/wp-content\/uploads\/2026\/07\/robotcleaning.jpg\" alt=\"\" loading=\"eager\" decoding=\"async\">\r\n\r\n      <div class=\"ds-container\">\r\n        <div class=\"ds-robot-layout reveal\">\r\n          <div class=\"ds-robot-left\">\r\n            <div class=\"ds-section-tag\">Cleaning Robots<\/div>\r\n\r\n            <h2 class=\"ds-title\">\r\n              Autonomous cleaning for <span>modern facilities.<\/span>\r\n            <\/h2>\r\n\r\n            <p class=\"ds-sub\">\r\n              Smart cleaning robots for stores, offices, warehouses and commercial spaces. A practical first step into robotics-driven operations.\r\n            <\/p>\r\n\r\n            <div class=\"ds-robot-visual\">\r\n              <div class=\"ds-orbit\"><\/div>\r\n              <div class=\"ds-orbit two\"><\/div>\r\n              <div class=\"ds-avoid-path\"><\/div>\r\n              <div class=\"ds-robot-obstacle o1\"><\/div>\r\n              <div class=\"ds-robot-obstacle o2\"><\/div>\r\n              <div class=\"ds-robot-obstacle o3\"><\/div>\r\n              <div class=\"ds-robot-alert a1\">Obstacle detected<\/div>\r\n              <div class=\"ds-robot-alert a2\">Route avoided<\/div>\r\n              <div class=\"ds-cleanbot\"><\/div>\r\n            <\/div>\r\n          <\/div>\r\n\r\n          <div class=\"ds-robot-right\">\r\n            <div class=\"ds-robot-right-card\">\r\n              <div class=\"ds-section-tag\">Future Roadmap<\/div>\r\n\r\n              <h3>Humanoid robotics<\/h3>\r\n\r\n              <p>\r\n                Future-ready humanoid robot concepts for retail, customer service, logistics and repetitive operational work.\r\n              <\/p>\r\n\r\n              <div class=\"ds-robot-note\">\r\n                We are building DigitalSolution.is as a long-term technology partner \u2014 not only for software, but for the next generation of automation.\r\n              <\/div>\r\n            <\/div>\r\n\r\n            <div class=\"ds-robot-right-card\">\r\n              <div class=\"ds-section-tag\">Automation Layer<\/div>\r\n\r\n              <h3>AI + robotics workflows<\/h3>\r\n\r\n              <p>\r\n                Robots become more powerful when connected to your data. We prepare the API layer, automation logic and future integrations.\r\n              <\/p>\r\n\r\n              <div class=\"ds-feature-list\">\r\n                <div class=\"ds-feature\">\r\n                  <div>\r\n                    <b>Routes, schedules and reports<\/b>\r\n                    <span>Cleaning operations can be tracked, automated and connected to internal systems.<\/span>\r\n                  <\/div>\r\n                <\/div>\r\n\r\n                <div class=\"ds-feature\">\r\n                  <div>\r\n                    <b>Future service automation<\/b>\r\n                    <span>From cleaning robots to humanoid assistants \u2014 one connected technology stack.<\/span>\r\n                  <\/div>\r\n                <\/div>\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/section>\r\n\r\n    <section id=\"contact\" class=\"ds-section ds-bg-section\" data-status=\"Demo Channel Open\">\r\n      <img class=\"ds-bg-img\" src=\"https:\/\/digitalsolution.is\/wp-content\/uploads\/2026\/07\/contact.jpg\" alt=\"\" loading=\"eager\" decoding=\"async\">\r\n\r\n      <div class=\"ds-container ds-cta reveal\">\r\n        <h2>Interested in smart retail technology?<\/h2>\r\n        <p>Call us or send a message \u2014 let\u2019s talk about ESL, API integrations, cleaning robots and automation.<\/p>\r\n        <a class=\"ds-btn\" href=\"tel:+354865636\">Interested? Call us \u2192<\/a>\r\n\r\n        <div class=\"ds-contact-grid\">\r\n          <div class=\"ds-contact-card\">\r\n            <small>Office<\/small>\r\n            <strong>S\u00ed\u00f0um\u00fali 25<\/strong>\r\n            <span>Reykjav\u00edk, Iceland<\/span>\r\n          <\/div>\r\n\r\n          <div class=\"ds-contact-card\">\r\n            <small>Phone<\/small>\r\n            <a href=\"tel:+354865636\">Interested? Call us<\/a>\r\n            <span>+354 865 636<\/span>\r\n          <\/div>\r\n\r\n          <div class=\"ds-contact-card\">\r\n            <small>Email<\/small>\r\n            <a href=\"mailto:info@digitalsolution.is\">info@digitalsolution.is<\/a>\r\n            <span>ESL \u00b7 API integrations \u00b7 Automation \u00b7 Robotics<\/span>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/section>\r\n  <\/main>\r\n\r\n  <footer class=\"ds-page-footer\">\r\n    <div class=\"ds-footer-inner\">\r\n      <div>\r\n        <div class=\"ds-footer-logo\">\r\n          <img decoding=\"async\" src=\"https:\/\/digitalsolution.is\/wp-content\/uploads\/2026\/07\/logo-bez-napiosu.png?attachment_id=95\" alt=\"DigitalSolution\">\r\n          <span>DigitalSolution.is<\/span>\r\n        <\/div>\r\n        <div class=\"ds-footer-text\">\r\n          Smart retail technology company based in Iceland. Electronic Shelf Labels, API integrations, automation, cleaning robots and future-ready business systems.\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"ds-footer-block\">\r\n        <h4>Contact<\/h4>\r\n        <p>S\u00ed\u00f0um\u00fali 25<\/p>\r\n        <p>Reykjav\u00edk, Iceland<\/p>\r\n        <p>Interested? Call us:<\/p>\r\n        <a href=\"tel:+354865636\">+354 865 636<\/a>\r\n        <a href=\"mailto:info@digitalsolution.is\">info@digitalsolution.is<\/a>\r\n      <\/div>\r\n\r\n      <div class=\"ds-footer-block\">\r\n        <h4>Social<\/h4>\r\n        <div class=\"ds-socials\">\r\n          <a class=\"ds-social\" href=\"#\" aria-label=\"Instagram\">\r\n            <svg viewBox=\"0 0 24 24\"><path d=\"M7.8 2h8.4A5.8 5.8 0 0 1 22 7.8v8.4a5.8 5.8 0 0 1-5.8 5.8H7.8A5.8 5.8 0 0 1 2 16.2V7.8A5.8 5.8 0 0 1 7.8 2Zm0 2A3.8 3.8 0 0 0 4 7.8v8.4A3.8 3.8 0 0 0 7.8 20h8.4a3.8 3.8 0 0 0 3.8-3.8V7.8A3.8 3.8 0 0 0 16.2 4H7.8Zm8.7 2.4a1.1 1.1 0 1 1 0 2.2a1.1 1.1 0 0 1 0-2.2ZM12 7.1A4.9 4.9 0 1 1 12 17a4.9 4.9 0 0 1 0-9.9Zm0 2A2.9 2.9 0 1 0 12 15a2.9 2.9 0 0 0 0-5.9Z\"\/><\/svg>\r\n          <\/a>\r\n\r\n          <a class=\"ds-social\" href=\"#\" aria-label=\"Facebook\">\r\n            <svg viewBox=\"0 0 24 24\"><path d=\"M13.7 22v-8h2.7l.4-3.1h-3.1V8.9c0-.9.3-1.5 1.6-1.5H17V4.6c-.3 0-1.4-.1-2.5-.1c-2.5 0-4.2 1.5-4.2 4.3v2.4H7.5V14h2.8v8h3.4Z\"\/><\/svg>\r\n          <\/a>\r\n\r\n          <a class=\"ds-social\" href=\"#\" aria-label=\"LinkedIn\">\r\n            <svg viewBox=\"0 0 24 24\"><path d=\"M6.9 8.8H3.7V20h3.2V8.8ZM5.3 3.4a1.85 1.85 0 1 0 0 3.7a1.85 1.85 0 0 0 0-3.7ZM20.3 13.6c0-3-1.6-5-4.3-5c-2 0-2.9 1.1-3.4 1.9V8.8H9.5V20h3.2v-5.9c0-1.6.3-3.1 2.2-3.1c1.9 0 1.9 1.8 1.9 3.2V20h3.2v-6.4h.3Z\"\/><\/svg>\r\n          <\/a>\r\n\r\n          <a class=\"ds-social\" href=\"#\" aria-label=\"YouTube\">\r\n            <svg viewBox=\"0 0 24 24\"><path d=\"M21.6 7.2s-.2-1.6-.8-2.3c-.8-.9-1.7-.9-2.1-1C15.8 3.7 12 3.7 12 3.7s-3.8 0-6.7.2c-.4.1-1.3.1-2.1 1c-.6.7-.8 2.3-.8 2.3S2.2 9.1 2.2 11v1.8c0 1.9.2 3.8.2 3.8s.2 1.6.8 2.3c.8.9 1.9.9 2.4 1c1.7.2 6.4.2 6.4.2s3.8 0 6.7-.2c.4-.1 1.3-.1 2.1-1c.6-.7.8-2.3.8-2.3s.2-1.9.2-3.8V11c0-1.9-.2-3.8-.2-3.8ZM10.1 15.2V8.6l6.2 3.3l-6.2 3.3Z\"\/><\/svg>\r\n          <\/a>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"ds-footer-bottom\">\r\n      <div>\u00a9 DigitalSolution.is<\/div>\r\n      <div>Smart retail technology \u00b7 Iceland<\/div>\r\n      <div>IS \/ EN \/ NO \/ PL<\/div>\r\n    <\/div>\r\n  <\/footer>\r\n<\/div>\r\n\r\n<script>\r\n(function(){\r\n  var dsIntro = document.getElementById('dsIntro');\r\n\r\n  window.addEventListener('load', function(){\r\n    window.scrollTo(0, 0);\r\n\r\n    setTimeout(function(){\r\n      if (dsIntro) dsIntro.classList.add('hide');\r\n      document.body.classList.add('ds-loaded');\r\n\r\n      setTimeout(function(){\r\n        document.body.classList.add('ds-ready');\r\n        updateHeaderState();\r\n        initScrollGuide();\r\n        initScrollMorph();\r\n        initHeaderContext();\r\n        initCodeStream();\r\n        initHeroRotator();\r\n        document.querySelectorAll('.ds-hero .reveal').forEach(function(el){ el.classList.add('show'); });\r\n        initMatrixLetters();\r\n\r\n        var heroVideo = document.querySelector('.ds-hero-video');\r\n        if (heroVideo) heroVideo.play().catch(function(){});\r\n      }, 260);\r\n    }, 3150);\r\n  });\r\n\r\n  function updateHeaderState(){\r\n    if (window.scrollY > 40) document.body.classList.add('ds-scrolled');\r\n    else document.body.classList.remove('ds-scrolled');\r\n  }\r\n\r\n  window.addEventListener('scroll', updateHeaderState, { passive:true });\r\n\r\n  document.querySelectorAll('a[href^=\"#\"]').forEach(function(link){\r\n    link.addEventListener('click', function(e){\r\n      var hash = this.getAttribute('href');\r\n      if (!hash || hash === '#') return;\r\n\r\n      var target = document.querySelector(hash);\r\n      if (!target) return;\r\n\r\n      e.preventDefault();\r\n\r\n      if (hash === '#top') {\r\n        window.scrollTo({ top:0, behavior:'smooth' });\r\n        setTimeout(updateHeaderState, 650);\r\n        return;\r\n      }\r\n\r\n      var headerOffset = 104;\r\n      var targetPosition = target.getBoundingClientRect().top + window.pageYOffset - headerOffset;\r\n\r\n      window.scrollTo({\r\n        top:targetPosition,\r\n        behavior:'smooth'\r\n      });\r\n\r\n      setTimeout(updateHeaderState, 650);\r\n    });\r\n  });\r\n\r\n  var dsReveals = document.querySelectorAll('.reveal');\r\n\r\n  var dsObserver = new IntersectionObserver(function(entries){\r\n    entries.forEach(function(entry){\r\n      if (entry.isIntersecting) entry.target.classList.add('show');\r\n    });\r\n  }, { threshold:0.12 });\r\n\r\n  dsReveals.forEach(function(el){ dsObserver.observe(el); });\r\n\r\n  var glow = document.getElementById('dsGlow');\r\n\r\n  window.addEventListener('mousemove', function(e){\r\n    if (!glow) return;\r\n    glow.style.left = e.clientX + 'px';\r\n    glow.style.top = e.clientY + 'px';\r\n  });\r\n\r\n  var canvas = document.getElementById('ds-particles');\r\n  var ctx = canvas ? canvas.getContext('2d') : null;\r\n\r\n  if (canvas && ctx) {\r\n    var w, h;\r\n    var particles = [];\r\n    var mouse = { x:null, y:null };\r\n\r\n    function resizeCanvas(){\r\n      w = canvas.width = window.innerWidth;\r\n      h = canvas.height = window.innerHeight;\r\n    }\r\n\r\n    resizeCanvas();\r\n    window.addEventListener('resize', resizeCanvas);\r\n\r\n    for(var i = 0; i < 82; i++){\r\n      particles.push({\r\n        x:Math.random() * window.innerWidth,\r\n        y:Math.random() * window.innerHeight,\r\n        vx:(Math.random() - .5) * .16,\r\n        vy:(Math.random() - .5) * .16,\r\n        r:Math.random() * 1.7 + .45\r\n      });\r\n    }\r\n\r\n    window.addEventListener('mousemove', function(e){\r\n      mouse.x = e.clientX;\r\n      mouse.y = e.clientY;\r\n    });\r\n\r\n    function animateParticles(){\r\n      ctx.clearRect(0,0,w,h);\r\n\r\n      particles.forEach(function(p,i){\r\n        p.x += p.vx;\r\n        p.y += p.vy;\r\n\r\n        if(mouse.x !== null){\r\n          var dx = p.x - mouse.x;\r\n          var dy = p.y - mouse.y;\r\n          var d = Math.sqrt(dx * dx + dy * dy);\r\n\r\n          if(d < 155 && d > 0){\r\n            p.x += dx \/ d * .7;\r\n            p.y += dy \/ d * .7;\r\n          }\r\n        }\r\n\r\n        if(p.x < 0 || p.x > w) p.vx *= -1;\r\n        if(p.y < 0 || p.y > h) p.vy *= -1;\r\n\r\n        ctx.beginPath();\r\n        ctx.arc(p.x,p.y,p.r,0,Math.PI * 2);\r\n        ctx.fillStyle = 'rgba(23,197,243,.46)';\r\n        ctx.fill();\r\n\r\n        for(var j = i + 1; j < particles.length; j++){\r\n          var q = particles[j];\r\n          var dx2 = p.x - q.x;\r\n          var dy2 = p.y - q.y;\r\n          var d2 = Math.sqrt(dx2 * dx2 + dy2 * dy2);\r\n\r\n          if(d2 < 118){\r\n            ctx.beginPath();\r\n            ctx.moveTo(p.x,p.y);\r\n            ctx.lineTo(q.x,q.y);\r\n            ctx.strokeStyle = 'rgba(23,197,243,' + ((1 - d2 \/ 118) * .14) + ')';\r\n            ctx.stroke();\r\n          }\r\n        }\r\n      });\r\n\r\n      requestAnimationFrame(animateParticles);\r\n    }\r\n\r\n    animateParticles();\r\n  }\r\n\r\n\r\n\r\n  var DS_TEXT_TRANSLATIONS = {\"Welcome to the future.\":{\"is\":\"Velkomin til framt\u00ed\u00f0arinnar.\",\"no\":\"Velkommen til fremtiden.\",\"pl\":\"Witamy w przysz\u0142o\u015bci.\"},\"Discover more\":{\"is\":\"Sj\u00e1 meira\",\"no\":\"Se mer\",\"pl\":\"Odkryj wi\u0119cej\"},\"Back to top\":{\"is\":\"Efst \u00e1 s\u00ed\u00f0u\",\"no\":\"Til toppen\",\"pl\":\"Do g\u00f3ry\"},\"Solutions\":{\"is\":\"Lausnir\",\"no\":\"L\u00f8sninger\",\"pl\":\"Rozwi\u0105zania\"},\"Robots\":{\"is\":\"V\u00e9lmenni\",\"no\":\"Roboter\",\"pl\":\"Roboty\"},\"Contact\":{\"is\":\"Haf\u00f0u samband\",\"no\":\"Kontakt\",\"pl\":\"Kontakt\"},\"Systems Online\":{\"is\":\"Kerfi virk\",\"no\":\"Systemer online\",\"pl\":\"Systemy online\"},\"Retail Tech Stack\":{\"is\":\"Verslunart\u00e6kni\",\"no\":\"Retail tech-stack\",\"pl\":\"Stos technologii retail\"},\"Book a Demo\":{\"is\":\"B\u00f3ka kynningu\",\"no\":\"Bestill demo\",\"pl\":\"Um\u00f3w demo\"},\"ESL Sync Ready\":{\"is\":\"ESL tilb\u00fai\u00f0\",\"no\":\"ESL-synk klar\",\"pl\":\"Synchronizacja ESL gotowa\"},\"Electronic shelf labels\":{\"is\":\"Rafr\u00e6nir hillumi\u00f0ar\",\"no\":\"Elektroniske hylleetiketter\",\"pl\":\"Elektroniczne etykiety cenowe\"},\"Prices\":{\"is\":\"Ver\u00f0in\",\"no\":\"Prisene\",\"pl\":\"Ceny\"},\"update\":{\"is\":\"uppf\u00e6ra sig\",\"no\":\"oppdateres\",\"pl\":\"aktualizuj\u0105 si\u0119\"},\"themselves.\":{\"is\":\"sj\u00e1lf.\",\"no\":\"automatisk.\",\"pl\":\"same.\"},\"Electronic Shelf Labels synchronized with your sales systems, product database or ERP.\":{\"is\":\"Rafr\u00e6nir hillumi\u00f0ar sem samstillast sj\u00e1lfkrafa vi\u00f0 kassakerfi\u00f0, v\u00f6rugagnagrunninn e\u00f0a ERP-kerfi\u00f0 \u00feitt.\",\"no\":\"Elektroniske hylleetiketter synkronisert med salgssystem, produktdatabase eller ERP.\",\"pl\":\"Elektroniczne etykiety cenowe zsynchronizowane z systemami sprzeda\u017cy, baz\u0105 produkt\u00f3w lub ERP.\"},\"Live pricing\":{\"is\":\"Ver\u00f0uppf\u00e6rslur \u00ed raunt\u00edma\",\"no\":\"Live-prising\",\"pl\":\"Ceny na \u017cywo\"},\"labels synced in real time\":{\"is\":\"hillumi\u00f0ar samstilltir \u00ed raunt\u00edma\",\"no\":\"etiketter synkronisert i sanntid\",\"pl\":\"etykiety synchronizowane w czasie rzeczywistym\"},\"System status\":{\"is\":\"Sta\u00f0a kerfis\",\"no\":\"Systemstatus\",\"pl\":\"Status systemu\"},\"API \u00b7 200 OK \u00b7 Price locked\":{\"is\":\"API \u00b7 200 OK \u00b7 Ver\u00f0 sta\u00f0fest\",\"no\":\"API \u00b7 200 OK \u00b7 Pris l\u00e5st\",\"pl\":\"API \u00b7 200 OK \u00b7 Cena zablokowana\"},\"Retail automation\":{\"is\":\"Sj\u00e1lfvirkni fyrir verslanir\",\"no\":\"Butikkautomasjon\",\"pl\":\"Automatyzacja retail\"},\"Less manual work on every shelf\":{\"is\":\"Minni handavinna, f\u00e6rri mist\u00f6k og skilvirkari rekstur.\",\"no\":\"Mindre manuelt arbeid p\u00e5 hver hylle\",\"pl\":\"Mniej r\u0119cznej pracy na ka\u017cdej p\u00f3\u0142ce\"},\"One technology partner.\":{\"is\":\"Einn t\u00e6knia\u00f0ili.\",\"no\":\"\u00c9n teknologipartner.\",\"pl\":\"Jeden partner technologiczny.\"},\"Multiple systems.\":{\"is\":\"Margar lausnir.\",\"no\":\"Flere systemer.\",\"pl\":\"Wiele system\u00f3w.\"},\"We build the bridge between retail hardware, sales systems, e-commerce platforms and automation.\":{\"is\":\"Vi\u00f0 tengjum saman verslunarb\u00fana\u00f0, s\u00f6lukerfi, netverslanir og sj\u00e1lfvirknilausnir \u00ed eitt samh\u00e6ft og skilvirkt kerfi.\",\"no\":\"Vi bygger broen mellom retail-maskinvare, salgssystemer, e-handelsplattformer og automasjon.\",\"pl\":\"Budujemy most mi\u0119dzy sprz\u0119tem retail, systemami sprzeda\u017cy, e-commerce i automatyzacj\u0105.\"},\"Electronic Shelf Labels\":{\"is\":\"Rafr\u00e6nir hillumi\u00f0ar (ESL)\",\"no\":\"Elektroniske hylleetiketter\",\"pl\":\"Elektroniczne etykiety cenowe\"},\"Real-time price updates, reduced manual work and precise shelf communication.\":{\"is\":\"Ver\u00f0uppf\u00e6rslur \u00ed raunt\u00edma, minni handavinna og n\u00e1kv\u00e6m ver\u00f0merking \u00e1 hverri hillu.\",\"no\":\"Prisoppdateringer i sanntid, mindre manuelt arbeid og presis hyllekommunikasjon.\",\"pl\":\"Aktualizacje cen w czasie rzeczywistym, mniej pracy r\u0119cznej i precyzyjna komunikacja na p\u00f3\u0142ce.\"},\"API Integrations\":{\"is\":\"API-sam\u00fe\u00e6ttingar\",\"no\":\"API-integrasjoner\",\"pl\":\"Integracje API\"},\"Connect Business Central, POS systems, Shopify, WooCommerce and internal tools.\":{\"is\":\"Vi\u00f0 tengjum Business Central, kassakerfi (POS), Shopify, WooCommerce og \u00f6nnur innri kerfi \u00ed eitt sj\u00e1lfvirkt uppl\u00fdsingafl\u00e6\u00f0i.\",\"no\":\"Koble Business Central, POS-systemer, Shopify, WooCommerce og interne verkt\u00f8y.\",\"pl\":\"Po\u0142\u0105cz Business Central, systemy POS, Shopify, WooCommerce i narz\u0119dzia wewn\u0119trzne.\"},\"Cleaning Robots\":{\"is\":\"\u00derifav\u00e9lmenni\",\"no\":\"Rengj\u00f8ringsroboter\",\"pl\":\"Roboty sprz\u0105taj\u0105ce\"},\"Autonomous cleaning solutions for commercial spaces, shops and facilities.\":{\"is\":\"Sj\u00e1lfvirkar \u00ferifalausnir fyrir atvinnuh\u00fasn\u00e6\u00f0i, verslanir og a\u00f0ra atvinnustarfsemi.\",\"no\":\"Autonome rengj\u00f8ringsl\u00f8sninger for n\u00e6ringslokaler, butikker og fasiliteter.\",\"pl\":\"Autonomiczne rozwi\u0105zania sprz\u0105taj\u0105ce dla przestrzeni komercyjnych, sklep\u00f3w i obiekt\u00f3w.\"},\"Future Robotics\":{\"is\":\"Framt\u00ed\u00f0arlausnir \u00ed v\u00e9lmennat\u00e6kni\",\"no\":\"Fremtidens robotikk\",\"pl\":\"Robotyka przysz\u0142o\u015bci\"},\"Humanoid robotics and AI automation as the next layer of business operations.\":{\"is\":\"Mannl\u00edk v\u00e9lmenni og gervigreind sem n\u00e6sta skref \u00ed sj\u00e1lfvirkum rekstri fyrirt\u00e6kja.\",\"no\":\"Humanoid robotikk og AI-automasjon som neste lag i driften.\",\"pl\":\"Roboty humanoidalne i automatyzacja AI jako kolejna warstwa operacji biznesowych.\"},\"No more dirty paper tags.\":{\"is\":\"Engir papp\u00edrsver\u00f0mi\u00f0ar.\",\"no\":\"Slutt p\u00e5 skitne papiretiketter.\",\"pl\":\"Koniec z brudnymi papierowymi etykietami.\"},\"Clean digital pricing.\":{\"is\":\"Hrein og stafr\u00e6n ver\u00f0merking.\",\"no\":\"Ren digital prising.\",\"pl\":\"Czyste cyfrowe ceny.\"},\"Ready ESL solutions for stores that want to finally get rid of dirty, hard-to-remove labels and manual price rewriting. Prices can be changed centrally and pushed directly to the shelf.\":{\"is\":\"Tilb\u00fanar ESL-lausnir fyrir verslanir sem vilja losna vi\u00f0 papp\u00edrsver\u00f0mi\u00f0a, l\u00edmmi\u00f0a sem erfitt er a\u00f0 fjarl\u00e6gja og handvirkar ver\u00f0breytingar. Ver\u00f0 er uppf\u00e6rt mi\u00f0l\u00e6gt og birtist sj\u00e1lfkrafa \u00e1 hillumi\u00f0inum.\",\"no\":\"Ferdige ESL-l\u00f8sninger for butikker som vil bli kvitt skitne, vanskelige etiketter og manuell omskriving av priser. Priser kan endres sentralt og sendes direkte til hyllen.\",\"pl\":\"Gotowe rozwi\u0105zania ESL dla sklep\u00f3w, kt\u00f3re chc\u0105 raz na zawsze pozby\u0107 si\u0119 brudnych, trudnych do usuni\u0119cia etykiet i r\u0119cznego przepisywania cen. Ceny mo\u017cna zmienia\u0107 centralnie i wysy\u0142a\u0107 bezpo\u015brednio na p\u00f3\u0142k\u0119.\"},\"End manual price writing\":{\"is\":\"H\u00e6ttu handvirkum ver\u00f0breytingum\",\"no\":\"Slutt p\u00e5 manuell prisskriving\",\"pl\":\"Koniec r\u0119cznego wypisywania cen\"},\"No more handwritten labels, scraped stickers or messy shelf communication.\":{\"is\":\"Engir handskrifa\u00f0ir ver\u00f0mi\u00f0ar, engar l\u00edmleifar og engar handvirkar lei\u00f0r\u00e9ttingar \u00e1 hillum.\",\"no\":\"Ingen h\u00e5ndskrevne etiketter, skrapte klistremerker eller rotete hyllekommunikasjon.\",\"pl\":\"Koniec z r\u0119cznie pisanymi etykietami, zdrapywanymi naklejkami i chaosem na p\u00f3\u0142kach.\"},\"Replaceable battery \u2014 up to 5 years\":{\"is\":\"Rafhla\u00f0a sem endist \u00ed allt a\u00f0 5 \u00e1r\",\"no\":\"Utskiftbart batteri \u2014 opptil 5 \u00e5r\",\"pl\":\"Wymienna bateria \u2014 do 5 lat\"},\"Our devices are built for long-term retail use with a replaceable battery that lasts up to 5 years.\":{\"is\":\"Merkin eru h\u00f6nnu\u00f0 fyrir daglega notkun \u00ed verslunum og eru me\u00f0 \u00fatskiptanlegri rafhl\u00f6\u00f0u sem endist \u00ed allt a\u00f0 fimm \u00e1r.\",\"no\":\"Enhetene v\u00e5re er bygget for langvarig bruk i butikk, med utskiftbart batteri som varer opptil 5 \u00e5r.\",\"pl\":\"Nasze urz\u0105dzenia s\u0105 stworzone do d\u0142ugoterminowego u\u017cycia w retailu, z wymienn\u0105 bateri\u0105 dzia\u0142aj\u0105c\u0105 do 5 lat.\"},\"Professional implementation team\":{\"is\":\"Fagleg innlei\u00f0ing\",\"no\":\"Profesjonelt implementeringsteam\",\"pl\":\"Profesjonalny zesp\u00f3\u0142 wdro\u017ceniowy\"},\"We guide the whole rollout: planning, configuration, installation, sync logic and store support.\":{\"is\":\"Vi\u00f0 sj\u00e1um um allt innlei\u00f0ingarferli\u00f0 \u2013 fr\u00e1 skipulagningu og stillingum til uppsetningar, samstillingar og \u00fej\u00f3nustu.\",\"no\":\"Vi leder hele utrullingen: planlegging, konfigurasjon, installasjon, synklogikk og butikkst\u00f8tte.\",\"pl\":\"Prowadzimy ca\u0142e wdro\u017cenie: planowanie, konfiguracj\u0119, instalacj\u0119, logik\u0119 synchronizacji i wsparcie sklepu.\"},\"End of manual price labels.\":{\"is\":\"Lok handvirkra ver\u00f0mi\u00f0a\",\"no\":\"Slutt p\u00e5 manuelle prislapper.\",\"pl\":\"Koniec r\u0119cznych etykiet cenowych.\"},\"Paper tags, sticky glue, marker corrections and manual shelf updates are replaced by one clean digital workflow.\":{\"is\":\"Papp\u00edrsver\u00f0mi\u00f0ar, l\u00edmleifar, lei\u00f0r\u00e9ttingar me\u00f0 t\u00fasspenna og handvirkar ver\u00f0uppf\u00e6rslur v\u00edkja fyrir einu einf\u00f6ldu og stafr\u00e6nu verkfl\u00e6\u00f0i.\",\"no\":\"Papirlapper, lim, tusjrettelser og manuelle hylleoppdateringer erstattes av \u00e9n ren digital arbeidsflyt.\",\"pl\":\"Papierowe etykiety, klej, poprawki markerem i r\u0119czne aktualizacje p\u00f3\u0142ek zast\u0119puje jeden czysty cyfrowy workflow.\"},\"old tag\":{\"is\":\"gamall ver\u00f0mi\u00f0i\",\"no\":\"gammel etikett\",\"pl\":\"stara etykieta\"},\"glue\":{\"is\":\"l\u00edm\",\"no\":\"lim\",\"pl\":\"klej\"},\"manual\":{\"is\":\"handvirk breyting\",\"no\":\"manuelt\",\"pl\":\"r\u0119cznie\"},\"scrape\":{\"is\":\"skrap\",\"no\":\"skrape\",\"pl\":\"zdrapywanie\"},\"rewrite\":{\"is\":\"endurskrifun\",\"no\":\"skrive om\",\"pl\":\"przepisywanie\"},\"WAITING\":{\"is\":\"B\u00cd\u00d0UR\",\"no\":\"VENTER\",\"pl\":\"OCZEKUJE\"},\"SYNCING\":{\"is\":\"SAMSTILLIR\",\"no\":\"SYNKER\",\"pl\":\"SYNCHRONIZUJE\"},\"SYNCED\":{\"is\":\"SAMSTILLT\",\"no\":\"SYNKET\",\"pl\":\"ZSYNCHRONIZOWANO\"},\"Custom API Integrations\":{\"is\":\"S\u00e9rsni\u00f0nar API-sam\u00fe\u00e6ttingar\",\"no\":\"Tilpassede API-integrasjoner\",\"pl\":\"Dedykowane integracje API\"},\"Connect sales systems.\":{\"is\":\"Tengdu kerfin saman.\",\"no\":\"Koble salgssystemer.\",\"pl\":\"Po\u0142\u0105cz systemy sprzeda\u017cy.\"},\"Automate the flow.\":{\"is\":\"Ger\u00f0u uppl\u00fdsingafl\u00e6\u00f0i\u00f0 sj\u00e1lfvirkt.\",\"no\":\"Automatiser flyten.\",\"pl\":\"Zautomatyzuj przep\u0142yw.\"},\"We build custom integrations between ERP, POS, e-commerce, inventory systems and smart retail hardware.\":{\"is\":\"Vi\u00f0 \u00fer\u00f3um s\u00e9rsni\u00f0nar sam\u00fe\u00e6ttingar milli ERP-kerfa, kassakerfa (POS), netverslana, birg\u00f0akerfa og snjallb\u00fana\u00f0ar fyrir verslanir.\",\"no\":\"Vi bygger tilpassede integrasjoner mellom ERP, POS, e-handel, lagerstyring og smart retail-maskinvare.\",\"pl\":\"Budujemy dedykowane integracje mi\u0119dzy ERP, POS, e-commerce, systemami magazynowymi i inteligentnym sprz\u0119tem retail.\"},\"Connect systems\":{\"is\":\"Tengjum kerfin saman\",\"no\":\"Koble systemer\",\"pl\":\"Po\u0142\u0105cz systemy\"},\"Business Central, POS, Shopify, WooCommerce, inventory databases and custom software.\":{\"is\":\"Business Central, POS, Shopify, WooCommerce, birg\u00f0agagnagrunnar og s\u00e9rsni\u00f0inn hugb\u00fana\u00f0ur.\",\"no\":\"Business Central, POS, Shopify, WooCommerce, lagerdatabaser og tilpasset programvare.\",\"pl\":\"Business Central, POS, Shopify, WooCommerce, bazy magazynowe i oprogramowanie customowe.\"},\"Normalize data\":{\"is\":\"Samr\u00e6mum g\u00f6gn\",\"no\":\"Normaliser data\",\"pl\":\"Ujednoli\u0107 dane\"},\"Products, prices, stock, orders and customer workflows translated into one clean logic.\":{\"is\":\"V\u00f6rur, ver\u00f0, birg\u00f0ir, pantanir og verkferlar eru sameinu\u00f0 \u00ed eitt sk\u00fdrt og \u00e1rei\u00f0anlegt uppl\u00fdsingafl\u00e6\u00f0i.\",\"no\":\"Produkter, priser, lager, ordre og kundearbeidsflyter oversettes til \u00e9n ryddig logikk.\",\"pl\":\"Produkty, ceny, stany, zam\u00f3wienia i procesy klienta prze\u0142o\u017cone na jedn\u0105 czyst\u0105 logik\u0119.\"},\"Automate operations\":{\"is\":\"Sj\u00e1lfvirkniv\u00e6\u00f0um reksturinn\",\"no\":\"Automatiser drift\",\"pl\":\"Automatyzuj operacje\"},\"Price updates, inventory sync, notifications, reports and internal process automation.\":{\"is\":\"Sj\u00e1lfvirkar ver\u00f0uppf\u00e6rslur, birg\u00f0asamstilling, tilkynningar, sk\u00fdrslur og innri verkferlar sem spara t\u00edma og draga \u00far mist\u00f6kum.\",\"no\":\"Prisoppdateringer, lagersynk, varsler, rapporter og automatisering av interne prosesser.\",\"pl\":\"Aktualizacje cen, synchronizacja stan\u00f3w, powiadomienia, raporty i automatyzacja proces\u00f3w wewn\u0119trznych.\"},\"Integration experience\":{\"is\":\"Sam\u00fe\u00e6tting kerfa\",\"no\":\"Integrasjonserfaring\",\"pl\":\"Do\u015bwiadczenie integracyjne\"},\"We connect the tools your business already uses.\":{\"is\":\"Vi\u00f0 tengjum saman \u00feau kerfi sem fyrirt\u00e6ki\u00f0 \u00feitt notar n\u00fa \u00feegar.\",\"no\":\"Vi kobler verkt\u00f8yene bedriften din allerede bruker.\",\"pl\":\"\u0141\u0105czymy narz\u0119dzia, kt\u00f3rych Twoja firma ju\u017c u\u017cywa.\"},\"ERP, POS, e-commerce, payments, analytics, delivery platforms and custom APIs \u2014 connected into one automated workflow.\":{\"is\":\"ERP-kerfi, kassakerfi (POS), netverslanir, grei\u00f0slulausnir, greiningart\u00f3l, afhendingarkerfi og s\u00e9rsni\u00f0nar API-tengingar \u2013 allt sameina\u00f0 \u00ed eitt sj\u00e1lfvirkt verkfl\u00e6\u00f0i.\",\"no\":\"ERP, POS, e-handel, betalinger, analyse, leveringsplattformer og tilpassede API-er \u2014 koblet i \u00e9n automatisert arbeidsflyt.\",\"pl\":\"ERP, POS, e-commerce, p\u0142atno\u015bci, analityka, platformy dostaw i dedykowane API \u2014 po\u0142\u0105czone w jeden zautomatyzowany workflow.\"},\"Delivery\":{\"is\":\"Afhendingar\u00fej\u00f3nusta\",\"no\":\"Levering\",\"pl\":\"Dostawa\"},\"Custom\":{\"is\":\"S\u00e9rsni\u00f0nar API-tengingar\",\"no\":\"Tilpasset\",\"pl\":\"Custom\"},\"Data\":{\"is\":\"Gagnatengingar\",\"no\":\"Data\",\"pl\":\"Dane\"},\"Payments\":{\"is\":\"Grei\u00f0slulausnir\",\"no\":\"Betalinger\",\"pl\":\"P\u0142atno\u015bci\"},\"Accounting\":{\"is\":\"B\u00f3khald\",\"no\":\"Regnskap\",\"pl\":\"Ksi\u0119gowo\u015b\u0107\"},\"Analytics\":{\"is\":\"Gagnagreining\",\"no\":\"Analyse\",\"pl\":\"Analityka\"},\"Reports\":{\"is\":\"Sk\u00fdrsluger\u00f0\",\"no\":\"Rapporter\",\"pl\":\"Raporty\"},\"Automation\":{\"is\":\"Sj\u00e1lfvirkni\",\"no\":\"Automasjon\",\"pl\":\"Automatyzacja\"},\"Events\":{\"is\":\"Atbur\u00f0atengingar\",\"no\":\"Hendelser\",\"pl\":\"Zdarzenia\"},\"Electronic Labels\":{\"is\":\"Rafr\u00e6nir hillumi\u00f0ar\",\"no\":\"Elektroniske etiketter\",\"pl\":\"Etykiety elektroniczne\"},\"Retail\":{\"is\":\"Verslunarlausnir\",\"no\":\"Retail\",\"pl\":\"Retail\"},\"Autonomous cleaning for\":{\"is\":\"Sj\u00e1lfvirk \u00ferif fyrir\",\"no\":\"Autonom rengj\u00f8ring for\",\"pl\":\"Autonomiczne sprz\u0105tanie dla\"},\"modern facilities.\":{\"is\":\"n\u00fat\u00edmalegt atvinnuh\u00fasn\u00e6\u00f0i.\",\"no\":\"moderne fasiliteter.\",\"pl\":\"nowoczesnych obiekt\u00f3w.\"},\"Smart cleaning robots for stores, offices, warehouses and commercial spaces. A practical first step into robotics-driven operations.\":{\"is\":\"Snj\u00f6ll \u00ferifav\u00e9lmenni fyrir verslanir, skrifstofur, v\u00f6ruh\u00fas og anna\u00f0 atvinnuh\u00fasn\u00e6\u00f0i. Hagn\u00fdt og hagkv\u00e6m lausn fyrir fyrirt\u00e6ki sem vilja st\u00edga fyrstu skrefin \u00ed \u00e1tt a\u00f0 sj\u00e1lfvirkum rekstri.\",\"no\":\"Smarte rengj\u00f8ringsroboter for butikker, kontorer, lager og n\u00e6ringslokaler. Et praktisk f\u00f8rste steg inn i robotdrevet drift.\",\"pl\":\"Inteligentne roboty sprz\u0105taj\u0105ce dla sklep\u00f3w, biur, magazyn\u00f3w i przestrzeni komercyjnych. Praktyczny pierwszy krok do operacji opartych na robotyce.\"},\"Obstacle detected\":{\"is\":\"Hindrun greind\",\"no\":\"Hindring oppdaget\",\"pl\":\"Wykryto przeszkod\u0119\"},\"Route avoided\":{\"is\":\"Lei\u00f0 endurreiknu\u00f0\",\"no\":\"Rute unng\u00e5tt\",\"pl\":\"Trasa omini\u0119ta\"},\"Future Roadmap\":{\"is\":\"Framt\u00ed\u00f0ars\u00fdn\",\"no\":\"Fremtidsplan\",\"pl\":\"Mapa rozwoju\"},\"Humanoid robotics\":{\"is\":\"Mannl\u00edk v\u00e9lmenni\",\"no\":\"Humanoid robotikk\",\"pl\":\"Robotyka humanoidalna\"},\"Future-ready humanoid robot concepts for retail, customer service, logistics and repetitive operational work.\":{\"is\":\"Framt\u00ed\u00f0arlausnir me\u00f0 mannl\u00edkum v\u00e9lmennum fyrir verslanir, \u00fej\u00f3nustu, v\u00f6rustj\u00f3rnun og endurtekin verkefni.\",\"no\":\"Fremtidsklare konsepter for humanoide roboter innen retail, kundeservice, logistikk og repeterende drift.\",\"pl\":\"Koncepcje robot\u00f3w humanoidalnych dla retailu, obs\u0142ugi klienta, logistyki i powtarzalnych zada\u0144 operacyjnych.\"},\"We are building DigitalSolution.is as a long-term technology partner \u2014 not only for software, but for the next generation of automation.\":{\"is\":\"Vi\u00f0 byggjum DigitalSolution.is upp sem langt\u00edma t\u00e6knia\u00f0ila fyrirt\u00e6kja \u2013 ekki a\u00f0eins fyrir hugb\u00fana\u00f0 dagsins \u00ed dag heldur einnig fyrir n\u00e6stu kynsl\u00f3\u00f0 sj\u00e1lfvirknilausna.\",\"no\":\"Vi bygger DigitalSolution.is som en langsiktig teknologipartner \u2014 ikke bare for programvare, men for neste generasjon automasjon.\",\"pl\":\"Budujemy DigitalSolution.is jako d\u0142ugoterminowego partnera technologicznego \u2014 nie tylko dla software\u2019u, ale dla kolejnej generacji automatyzacji.\"},\"Automation Layer\":{\"is\":\"Sj\u00e1lfvirknilagi\u00f0\",\"no\":\"Automasjonslag\",\"pl\":\"Warstwa automatyzacji\"},\"AI + robotics workflows\":{\"is\":\"Gervigreind og v\u00e9lmennat\u00e6kni\",\"no\":\"AI + robotikk-arbeidsflyter\",\"pl\":\"Workflow AI + robotyka\"},\"Robots become more powerful when connected to your data. We prepare the API layer, automation logic and future integrations.\":{\"is\":\"V\u00e9lmenni ver\u00f0a \u00f6flugri \u00feegar \u00feau tengjast g\u00f6gnum fyrirt\u00e6kisins. Vi\u00f0 byggjum upp API-lagi\u00f0, sj\u00e1lfvirkniverkfl\u00e6\u00f0i og sam\u00fe\u00e6ttingar sem gera fyrirt\u00e6ki\u00f0 tilb\u00fai\u00f0 fyrir framt\u00ed\u00f0ina.\",\"no\":\"Roboter blir kraftigere n\u00e5r de kobles til dataene dine. Vi forbereder API-lag, automasjonslogikk og fremtidige integrasjoner.\",\"pl\":\"Roboty staj\u0105 si\u0119 mocniejsze, gdy s\u0105 pod\u0142\u0105czone do Twoich danych. Przygotowujemy warstw\u0119 API, logik\u0119 automatyzacji i przysz\u0142e integracje.\"},\"Routes, schedules and reports\":{\"is\":\"Lei\u00f0ir, \u00e1\u00e6tlanir og sk\u00fdrslur\",\"no\":\"Ruter, tidsplaner og rapporter\",\"pl\":\"Trasy, harmonogramy i raporty\"},\"Cleaning operations can be tracked, automated and connected to internal systems.\":{\"is\":\"\u00derif, \u00e1\u00e6tlanir og rekstur eru rekjanleg, sj\u00e1lfvirk og tengd vi\u00f0 innri kerfi fyrirt\u00e6kisins.\",\"no\":\"Rengj\u00f8ringsoperasjoner kan spores, automatiseres og kobles til interne systemer.\",\"pl\":\"Operacje sprz\u0105tania mog\u0105 by\u0107 \u015bledzone, automatyzowane i po\u0142\u0105czone z systemami wewn\u0119trznymi.\"},\"Future service automation\":{\"is\":\"Sj\u00e1lfvirk \u00fej\u00f3nusta framt\u00ed\u00f0arinnar\",\"no\":\"Fremtidig tjenesteautomasjon\",\"pl\":\"Przysz\u0142a automatyzacja us\u0142ug\"},\"From cleaning robots to humanoid assistants \u2014 one connected technology stack.\":{\"is\":\"Fr\u00e1 \u00ferifav\u00e9lmennum til mannl\u00edkra \u00fej\u00f3nustuv\u00e9lmenna \u2013 eitt samh\u00e6ft t\u00e6knivistkerfi.\",\"no\":\"Fra rengj\u00f8ringsroboter til humanoide assistenter \u2014 \u00e9n koblet teknologistack.\",\"pl\":\"Od robot\u00f3w sprz\u0105taj\u0105cych po humanoidalnych asystent\u00f3w \u2014 jeden po\u0142\u0105czony stack technologiczny.\"},\"Interested in smart retail technology?\":{\"is\":\"Hefur \u00fe\u00fa \u00e1huga \u00e1 snjalllausnum fyrir verslanir?\",\"no\":\"Interessert i smart retail-teknologi?\",\"pl\":\"Zainteresowany technologi\u0105 smart retail?\"},\"Call us or send a message \u2014 let\u2019s talk about ESL, API integrations, cleaning robots and automation.\":{\"is\":\"Haf\u00f0u samband og vi\u00f0 f\u00f6rum yfir hvernig rafr\u00e6nir hillumi\u00f0ar, API-sam\u00fe\u00e6ttingar, \u00ferifav\u00e9lmenni og sj\u00e1lfvirknilausnir geta einfalda\u00f0 rekstur fyrirt\u00e6kisins.\",\"no\":\"Ring oss eller send en melding \u2014 la oss snakke om ESL, API-integrasjoner, rengj\u00f8ringsroboter og automasjon.\",\"pl\":\"Zadzwo\u0144 lub napisz \u2014 porozmawiajmy o ESL, integracjach API, robotach sprz\u0105taj\u0105cych i automatyzacji.\"},\"Interested? Call us \u2192\":{\"is\":\"\u00c1hugasamur? Haf\u00f0u samband \u2192\",\"no\":\"Interessert? Ring oss \u2192\",\"pl\":\"Zainteresowany? Zadzwo\u0144 \u2192\"},\"Office\":{\"is\":\"Skrifstofa\",\"no\":\"Kontor\",\"pl\":\"Biuro\"},\"Phone\":{\"is\":\"S\u00edmi\",\"no\":\"Telefon\",\"pl\":\"Telefon\"},\"Interested? Call us\":{\"is\":\"+354 865 636\",\"no\":\"Interessert? Ring oss\",\"pl\":\"Zainteresowany? Zadzwo\u0144\"},\"Email\":{\"is\":\"Netfang\",\"no\":\"E-post\",\"pl\":\"E-mail\"},\"Smart retail technology company based in Iceland. Electronic Shelf Labels, API integrations, automation, cleaning robots and future-ready business systems.\":{\"is\":\"\u00cdslenskt t\u00e6knifyrirt\u00e6ki sem \u00fer\u00f3ar snjalllausnir fyrir verslanir. Rafr\u00e6nir hillumi\u00f0ar, API-sam\u00fe\u00e6ttingar, sj\u00e1lfvirkni og v\u00e9lmennat\u00e6kni.\",\"no\":\"Smart retail-teknologiselskap basert p\u00e5 Island. Elektroniske hylleetiketter, API-integrasjoner, automasjon, rengj\u00f8ringsroboter og fremtidsklare forretningssystemer.\",\"pl\":\"Firma technologii smart retail z Islandii. Elektroniczne etykiety cenowe, integracje API, automatyzacja, roboty sprz\u0105taj\u0105ce i przysz\u0142o\u015bciowe systemy biznesowe.\"},\"Interested? Call us:\":{\"is\":\"Haf\u00f0u samband:\",\"no\":\"Interessert? Ring oss:\",\"pl\":\"Zainteresowany? Zadzwo\u0144:\"},\"Social\":{\"is\":\"Samf\u00e9lagsmi\u00f0lar\",\"no\":\"Sosiale medier\",\"pl\":\"Social media\"},\"Smart retail technology \u00b7 Iceland\":{\"is\":\"Snjalllausnir fyrir verslanir \u00b7 \u00cdsland\",\"no\":\"Smart retail-teknologi \u00b7 Island\",\"pl\":\"Technologia smart retail \u00b7 Islandia\"},\"IS \/ EN \/ NO \/ PL\":{\"is\":\"IS \/ EN \/ NO \/ PL\",\"no\":\"IS \/ EN \/ NO \/ PL\",\"pl\":\"IS \/ EN \/ NO \/ PL\"},\"ESL \u00b7 API integrations \u00b7 Automation \u00b7 Robotics\":{\"is\":\"Rafr\u00e6nir hillumi\u00f0ar (ESL) \u00b7 API-sam\u00fe\u00e6ttingar \u00b7 Sj\u00e1lfvirkni \u00b7 V\u00e9lmennat\u00e6kni\",\"no\":\"ESL \u00b7 API-integrasjoner \u00b7 Automasjon \u00b7 Robotikk\",\"pl\":\"ESL \u00b7 Integracje API \u00b7 Automatyzacja \u00b7 Robotyka\"},\"Demo Channel Open\":{\"is\":\"Samband opi\u00f0\",\"no\":\"Demokanal \u00e5pen\",\"pl\":\"Kana\u0142 demo otwarty\"},\"API Bridge Active\":{\"is\":\"API-tenging virk\",\"no\":\"API-bro aktiv\",\"pl\":\"Most API aktywny\"},\"Robotics Mode\":{\"is\":\"V\u00e9lmennat\u00e6kni\",\"no\":\"Robotikkmodus\",\"pl\":\"Tryb robotyki\"},\"Future Robotics Mode\":{\"is\":\"Framt\u00ed\u00f0arlausnir \u00ed v\u00e9lmennat\u00e6kni\",\"no\":\"Fremtidig robotikkmodus\",\"pl\":\"Tryb robotyki przysz\u0142o\u015bci\"}};\r\n  window.DS_I18N_HERO = {\"en\":[{\"layout\":\"layout-esl\",\"mode\":\"ESL Sync Ready\",\"kicker\":\"Electronic shelf labels\",\"title\":\"Prices<br>update<br><span>themselves.<\/span>\",\"lead\":\"Electronic Shelf Labels synchronized with your sales systems, product database or ERP.\",\"chips\":[[\"Live pricing\",\"<span>ESL<\/span> labels synced in real time\"],[\"System status\",\"API \u00b7 200 OK \u00b7 Price locked\"],[\"Retail automation\",\"Less manual work on every shelf\"]]},{\"layout\":\"layout-api\",\"mode\":\"API Bridge Active\",\"kicker\":\"Custom API integrations\",\"title\":\"Sales systems<br>connected<br><span>as one.<\/span>\",\"lead\":\"We connect ERP, POS, Shopify, WooCommerce and inventory systems into one automated data flow.\",\"chips\":[[\"Connected stack\",\"ERP \u00b7 POS \u00b7 Shopify \u00b7 Wolt\"],[\"Automation layer\",\"Orders \u00b7 stock \u00b7 prices \u00b7 reports\"],[\"Data flow\",\"One API bridge between systems\"]]},{\"layout\":\"layout-robots\",\"mode\":\"Robotics Mode\",\"kicker\":\"Autonomous cleaning robots\",\"title\":\"Facilities<br>cleaned by<br><span>automation.<\/span>\",\"lead\":\"Smart cleaning robots for stores, offices, warehouses and commercial spaces.\",\"chips\":[[\"Robotic cleaning\",\"Autonomous routes and schedules\"],[\"Commercial spaces\",\"Stores \u00b7 offices \u00b7 warehouses\"],[\"Operations\",\"Reports \u00b7 status \u00b7 cleaning routes\"]]},{\"layout\":\"layout-future\",\"mode\":\"Future Robotics Mode\",\"kicker\":\"Future robotics roadmap\",\"title\":\"Robotics<br>ready for<br><span>tomorrow.<\/span>\",\"lead\":\"Humanoid robots, AI automation and future-ready technology infrastructure for modern businesses.\",\"chips\":[[\"Humanoid robotics\",\"Future service and retail automation\"],[\"AI workflows\",\"Assistants \u00b7 logic \u00b7 automation\"],[\"Long-term stack\",\"Software today, robotics tomorrow\"]]}],\"is\":[{\"layout\":\"layout-esl\",\"mode\":\"ESL tilb\u00fai\u00f0\",\"kicker\":\"Rafr\u00e6nir hillumi\u00f0ar\",\"title\":\"Ver\u00f0in<br>uppf\u00e6ra sig<br><span>sj\u00e1lf.<\/span>\",\"lead\":\"Rafr\u00e6nir hillumi\u00f0ar sem samstillast sj\u00e1lfkrafa vi\u00f0 kassakerfi\u00f0, v\u00f6rugagnagrunninn e\u00f0a ERP-kerfi\u00f0 \u00feitt.\",\"chips\":[[\"Ver\u00f0uppf\u00e6rslur \u00ed raunt\u00edma\",\"<span>ESL<\/span> hillumi\u00f0ar samstilltir \u00ed raunt\u00edma\"],[\"Sta\u00f0a kerfis\",\"API \u00b7 200 OK \u00b7 Ver\u00f0 sta\u00f0fest\"],[\"Sj\u00e1lfvirkni fyrir verslanir\",\"Minni handavinna, f\u00e6rri mist\u00f6k og skilvirkari rekstur.\"]]},{\"layout\":\"layout-api\",\"mode\":\"API-tenging virk\",\"kicker\":\"S\u00e9rsni\u00f0nar API-sam\u00fe\u00e6ttingar\",\"title\":\"\u00d6ll s\u00f6lukerfin<br>\u00fe\u00edn vinna<br><span>saman.<\/span>\",\"lead\":\"Vi\u00f0 tengjum ERP-, POS-, Shopify-, WooCommerce- og birg\u00f0akerfi \u00ed eitt sj\u00e1lfvirkt uppl\u00fdsingafl\u00e6\u00f0i.\",\"chips\":[[\"Tengd kerfi\",\"ERP \u00b7 POS \u00b7 Shopify \u00b7 WooCommerce \u00b7 Birg\u00f0akerfi\"],[\"Sj\u00e1lfvirkt uppl\u00fdsingafl\u00e6\u00f0i\",\"Pantanir \u00b7 Birg\u00f0ir \u00b7 Ver\u00f0 \u00b7 Sk\u00fdrslur\"],[\"Gagnafl\u00e6\u00f0i\",\"Ein API-tenging sem s\u00e9r um \u00f6rugg og sj\u00e1lfvirk samskipti milli kerfa.\"]]},{\"layout\":\"layout-robots\",\"mode\":\"V\u00e9lmennat\u00e6kni\",\"kicker\":\"Sj\u00e1lfvirk \u00ferif\",\"title\":\"Sj\u00e1lfvirk \u00ferif<br>sem spara t\u00edma<br><span>og fyrirh\u00f6fn.<\/span>\",\"lead\":\"Snj\u00f6ll \u00ferifav\u00e9lmenni fyrir verslanir, skrifstofur, v\u00f6ruh\u00fas og anna\u00f0 atvinnuh\u00fasn\u00e6\u00f0i.\",\"chips\":[[\"Sj\u00e1lfvirk \u00ferif\",\"V\u00e9lmennin fylgja fyrirfram skilgreindum lei\u00f0um og \u00ferifa\u00e1\u00e6tlunum \u00e1n handvirkrar a\u00f0komu.\"],[\"Hentar fyrir atvinnuh\u00fasn\u00e6\u00f0i\",\"Verslanir \u00b7 Skrifstofur \u00b7 V\u00f6ruh\u00fas\"],[\"Yfirs\u00fdn og rekstur\",\"Sk\u00fdrslur \u00b7 Sta\u00f0a \u00b7 \u00derifalei\u00f0ir\"]]},{\"layout\":\"layout-future\",\"mode\":\"Framt\u00ed\u00f0arlausnir \u00ed v\u00e9lmennat\u00e6kni\",\"kicker\":\"Framt\u00ed\u00f0arh\u00e6f t\u00e6kni\",\"title\":\"Tilb\u00fain fyrir<br>t\u00e6kni<br><span>morgundagsins.<\/span>\",\"lead\":\"Mannl\u00edk v\u00e9lmenni, gervigreind og sj\u00e1lfvirknilausnir sem hj\u00e1lpa fyrirt\u00e6kjum a\u00f0 byggja upp framt\u00ed\u00f0arh\u00e6fan rekstur.\",\"chips\":[[\"Mannl\u00edk v\u00e9lmenni\",\"N\u00fd kynsl\u00f3\u00f0 v\u00e9lmenna fyrir \u00fej\u00f3nustu, verslanir og sj\u00e1lfvirkniv\u00e6\u00f0ingu.\"],[\"Gervigreind og sj\u00e1lfvirkni\",\"Gervigreindara\u00f0sto\u00f0 \u00b7 Verkfl\u00e6\u00f0i \u00b7 Sj\u00e1lfvirkni\"],[\"Framt\u00ed\u00f0arh\u00e6f t\u00e6kni\",\"Hugb\u00fana\u00f0ur \u00ed dag \u2013 v\u00e9lmenni \u00e1 morgun.\"]]}],\"no\":[{\"layout\":\"layout-esl\",\"mode\":\"ESL-synk klar\",\"kicker\":\"Elektroniske hylleetiketter\",\"title\":\"Prisene<br>oppdateres<br><span>automatisk.<\/span>\",\"lead\":\"Elektroniske hylleetiketter synkronisert med salgssystem, produktdatabase eller ERP.\",\"chips\":[[\"Live-prising\",\"<span>ESL<\/span>-etiketter synket i sanntid\"],[\"Systemstatus\",\"API \u00b7 200 OK \u00b7 Pris l\u00e5st\"],[\"Butikkautomasjon\",\"Mindre manuelt arbeid p\u00e5 hver hylle\"]]},{\"layout\":\"layout-api\",\"mode\":\"API-bro aktiv\",\"kicker\":\"Tilpassede API-integrasjoner\",\"title\":\"Salgssystemer<br>koblet<br><span>som ett.<\/span>\",\"lead\":\"Vi kobler ERP, POS, Shopify, WooCommerce og lagersystemer i \u00e9n automatisert dataflyt.\",\"chips\":[[\"Tilkoblet stack\",\"ERP \u00b7 POS \u00b7 Shopify \u00b7 Wolt\"],[\"Automasjonslag\",\"Ordre \u00b7 lager \u00b7 priser \u00b7 rapporter\"],[\"Dataflyt\",\"\u00c9n API-bro mellom systemer\"]]},{\"layout\":\"layout-robots\",\"mode\":\"Robotikkmodus\",\"kicker\":\"Autonome rengj\u00f8ringsroboter\",\"title\":\"Fasiliteter<br>rengj\u00f8res med<br><span>automasjon.<\/span>\",\"lead\":\"Smarte rengj\u00f8ringsroboter for butikker, kontorer, lager og n\u00e6ringslokaler.\",\"chips\":[[\"Robotisk rengj\u00f8ring\",\"Autonome ruter og tidsplaner\"],[\"N\u00e6ringslokaler\",\"Butikker \u00b7 kontorer \u00b7 lager\"],[\"Drift\",\"Rapporter \u00b7 status \u00b7 rengj\u00f8ringsruter\"]]},{\"layout\":\"layout-future\",\"mode\":\"Fremtidig robotikkmodus\",\"kicker\":\"Fremtidig robotikkplan\",\"title\":\"Robotikk<br>klar for<br><span>morgendagen.<\/span>\",\"lead\":\"Humanoide roboter, AI-automasjon og fremtidsklar teknologiinfrastruktur for moderne bedrifter.\",\"chips\":[[\"Humanoid robotikk\",\"Fremtidig service- og retailautomasjon\"],[\"AI-arbeidsflyter\",\"Assistenter \u00b7 logikk \u00b7 automasjon\"],[\"Langsiktig stack\",\"Programvare i dag, robotikk i morgen\"]]}],\"pl\":[{\"layout\":\"layout-esl\",\"mode\":\"Synchronizacja ESL gotowa\",\"kicker\":\"Elektroniczne etykiety cenowe\",\"title\":\"Ceny<br>aktualizuj\u0105 si\u0119<br><span>same.<\/span>\",\"lead\":\"Elektroniczne etykiety cenowe zsynchronizowane z systemami sprzeda\u017cy, baz\u0105 produkt\u00f3w lub ERP.\",\"chips\":[[\"Ceny na \u017cywo\",\"<span>ESL<\/span> synchronizowane w czasie rzeczywistym\"],[\"Status systemu\",\"API \u00b7 200 OK \u00b7 Cena zablokowana\"],[\"Automatyzacja retail\",\"Mniej r\u0119cznej pracy na ka\u017cdej p\u00f3\u0142ce\"]]},{\"layout\":\"layout-api\",\"mode\":\"Most API aktywny\",\"kicker\":\"Dedykowane integracje API\",\"title\":\"Systemy sprzeda\u017cy<br>po\u0142\u0105czone<br><span>w jedno.<\/span>\",\"lead\":\"\u0141\u0105czymy ERP, POS, Shopify, WooCommerce i systemy magazynowe w jeden zautomatyzowany przep\u0142yw danych.\",\"chips\":[[\"Po\u0142\u0105czony stack\",\"ERP \u00b7 POS \u00b7 Shopify \u00b7 Wolt\"],[\"Warstwa automatyzacji\",\"Zam\u00f3wienia \u00b7 stany \u00b7 ceny \u00b7 raporty\"],[\"Przep\u0142yw danych\",\"Jeden most API mi\u0119dzy systemami\"]]},{\"layout\":\"layout-robots\",\"mode\":\"Tryb robotyki\",\"kicker\":\"Autonomiczne roboty sprz\u0105taj\u0105ce\",\"title\":\"Obiekty<br>sprz\u0105tane przez<br><span>automatyzacj\u0119.<\/span>\",\"lead\":\"Inteligentne roboty sprz\u0105taj\u0105ce dla sklep\u00f3w, biur, magazyn\u00f3w i przestrzeni komercyjnych.\",\"chips\":[[\"Sprz\u0105tanie robotyczne\",\"Autonomiczne trasy i harmonogramy\"],[\"Przestrzenie komercyjne\",\"Sklepy \u00b7 biura \u00b7 magazyny\"],[\"Operacje\",\"Raporty \u00b7 status \u00b7 trasy sprz\u0105tania\"]]},{\"layout\":\"layout-future\",\"mode\":\"Tryb robotyki przysz\u0142o\u015bci\",\"kicker\":\"Mapa rozwoju robotyki\",\"title\":\"Robotyka<br>gotowa na<br><span>jutro.<\/span>\",\"lead\":\"Roboty humanoidalne, automatyzacja AI i infrastruktura technologiczna przysz\u0142o\u015bci dla nowoczesnych firm.\",\"chips\":[[\"Robotyka humanoidalna\",\"Przysz\u0142a automatyzacja obs\u0142ugi i retailu\"],[\"Workflow AI\",\"Asystenci \u00b7 logika \u00b7 automatyzacja\"],[\"D\u0142ugoterminowy stack\",\"Software dzi\u015b, robotyka jutro\"]]}]};\r\n  function DS_detectInitialLanguage(){\r\n    var saved = null;\r\n\r\n    try {\r\n      saved = localStorage.getItem('ds_lang');\r\n    } catch(e) {}\r\n\r\n    if (saved && ['is','en','no','pl'].indexOf(saved) !== -1) {\r\n      return saved;\r\n    }\r\n\r\n    \/*\r\n      First visit logic:\r\n      1. If the visitor already chose a language, use saved localStorage.\r\n      2. If this is the first visit, use browser language:\r\n         is-IS -> IS, nb\/no\/nn -> NO, pl -> PL, en -> EN.\r\n      3. If browser language is unknown, default to Icelandic.\r\n      For true country\/IP detection we would need server-side GeoIP or Cloudflare headers.\r\n    *\/\r\n    var browserLanguages = [];\r\n\r\n    if (navigator.languages && navigator.languages.length) {\r\n      browserLanguages = navigator.languages;\r\n    } else if (navigator.language) {\r\n      browserLanguages = [navigator.language];\r\n    }\r\n\r\n    for (var i = 0; i < browserLanguages.length; i++) {\r\n      var lang = String(browserLanguages[i] || '').toLowerCase();\r\n\r\n      if (lang.indexOf('is') === 0) return 'is';\r\n      if (lang.indexOf('nb') === 0 || lang.indexOf('no') === 0 || lang.indexOf('nn') === 0) return 'no';\r\n      if (lang.indexOf('pl') === 0) return 'pl';\r\n      if (lang.indexOf('en') === 0) return 'en';\r\n    }\r\n\r\n    return 'is';\r\n  }\r\n\r\n  window.dsCurrentLang = DS_detectInitialLanguage();\r\n\r\n  window.DS_t = function(key){\r\n    var lang = window.dsCurrentLang || 'en';\r\n    if (lang === 'en') return key;\r\n    return (DS_TEXT_TRANSLATIONS[key] && DS_TEXT_TRANSLATIONS[key][lang]) || key;\r\n  };\r\n\r\n  function applyLanguage(lang){\r\n    window.dsCurrentLang = lang || 'en';\r\n    try { localStorage.setItem('ds_lang', window.dsCurrentLang); } catch(e) {}\r\n    document.documentElement.setAttribute('lang', window.dsCurrentLang === 'is' ? 'is' : window.dsCurrentLang);\r\n\r\n    document.querySelectorAll('[data-lang-btn]').forEach(function(btn){\r\n      btn.classList.toggle('is-active', btn.getAttribute('data-lang-btn') === window.dsCurrentLang);\r\n    });\r\n\r\n    var root = document.querySelector('.ds-mount');\r\n    if (root) {\r\n      var walker = document.createTreeWalker(root, NodeFilter.SHOW_TEXT, {\r\n        acceptNode:function(node){\r\n          if (!node.nodeValue || !node.nodeValue.trim()) return NodeFilter.FILTER_REJECT;\r\n          var parent = node.parentElement;\r\n          if (!parent) return NodeFilter.FILTER_REJECT;\r\n          if (parent.closest('script,style,svg,canvas,.ds-code-stream,.ds-code-window')) return NodeFilter.FILTER_REJECT;\r\n          return NodeFilter.FILTER_ACCEPT;\r\n        }\r\n      });\r\n\r\n      var nodes = [];\r\n      while(walker.nextNode()) nodes.push(walker.currentNode);\r\n\r\n      nodes.forEach(function(node){\r\n        var raw = node.nodeValue;\r\n        var trimmed = raw.trim();\r\n        if (!trimmed) return;\r\n        if (!node.__ds_i18n_key) node.__ds_i18n_key = trimmed;\r\n        var key = node.__ds_i18n_key;\r\n        var translated = window.DS_t(key);\r\n        node.nodeValue = raw.replace(trimmed, translated);\r\n      });\r\n    }\r\n\r\n    var guide = document.getElementById('dsScrollGuide');\r\n    if (guide) guide.setAttribute('aria-label', window.DS_t(guide.classList.contains('is-back') ? 'Back to top' : 'Discover more'));\r\n\r\n    if (window.DS_updateHeroLanguage) window.DS_updateHeroLanguage();\r\n    if (window.DS_updateStatusLanguage) window.DS_updateStatusLanguage();\r\n    if (window.DS_updateScrollGuideLanguage) window.DS_updateScrollGuideLanguage();\r\n  }\r\n\r\n  document.querySelectorAll('[data-lang-btn]').forEach(function(btn){\r\n    btn.addEventListener('click', function(){\r\n      applyLanguage(this.getAttribute('data-lang-btn') || 'en');\r\n    });\r\n  });\r\n\r\n  applyLanguage(window.dsCurrentLang);\r\n\r\n\r\n  function initCodeStream(){\r\n    var stream = document.getElementById('dsCodeStreamLines');\r\n    if (!stream) return;\r\n\r\n    var lines = [\r\n      {t:'[oauth] GET \/wolt\/oauth\/authorize?client_id=retail_stack&scope=inventory labels', c:'is-cyan'},\r\n      {t:'[oauth] 302 redirect_uri verified \u00b7 state=9f42a7 \u00b7 pkce=true', c:'is-dim'},\r\n      {t:'[token] POST \/oauth\/token \u00b7 grant_type=authorization_code \u00b7 200 OK', c:'is-ok'},\r\n      {t:'[cache] refresh_token encrypted \u00b7 venue_id=68ee6822e7b35900ea92fd8e', c:'is-dim'},\r\n      {t:'[api] PATCH \/labels\/batch \u00b7 labels=1842 \u00b7 accepted=202', c:'is-cyan'},\r\n      {t:'[esl] price_lock=true \u00b7 dirty_tags=0 \u00b7 sync_window=00:00:04.8', c:'is-ok'},\r\n      {t:'[webhook] order.created signature=verified \u00b7 replay=false \u00b7 201 CREATED', c:'is-ok'},\r\n      {t:'[bulk] inventory_delta queue=273 \u00b7 split=25\u219212\u21926\u21923\u21921 \u00b7 retry=0', c:'is-warn'},\r\n      {t:'[erp] Business Central \u2192 middleware \u2192 POS \u2192 ESL \u00b7 latency=142ms', c:'is-cyan'},\r\n      {t:'[lidar] scan.frame=2048 \u00b7 obstacle_count=3 \u00b7 path_recalculated=true', c:'is-cyan'},\r\n      {t:'[robot] route.cleaning_zone=A14 \u00b7 avoid_object=true \u00b7 status=ACTIVE', c:'is-ok'},\r\n      {t:'[system] TLS handshake ok \u00b7 webhook queue stable \u00b7 worker online', c:'is-ok'},\r\n      {t:'[labels] battery_health=5y_est \u00b7 replaceable=true \u00b7 signal=-47dBm', c:'is-cyan'},\r\n      {t:'[api] GraphQL mutation inventorySetQuantities \u00b7 200 OK \u00b7 cost=12', c:'is-ok'},\r\n      {t:'[sync] product_gtin matched \u00b7 source_of_truth=ERP \u00b7 conflict=none', c:'is-dim'},\r\n      {t:'[robotics] lidar.map.update \u00b7 point_cloud=compressed \u00b7 navmesh=ready', c:'is-cyan'},\r\n      {t:'[monitor] cpu=18% \u00b7 memory=312MB \u00b7 worker_heartbeat=OK', c:'is-ok'},\r\n      {t:'[events] webhook.order.cancelled \u00b7 delta reversed \u00b7 stock_restored=true', c:'is-warn'}\r\n    ];\r\n\r\n    var index = 0;\r\n    var maxLines = 18;\r\n\r\n    function typeLine(payload){\r\n      var el = document.createElement('div');\r\n      el.className = 'ds-code-line ' + (payload.c || '');\r\n      stream.appendChild(el);\r\n\r\n      while (stream.children.length > maxLines) {\r\n        stream.removeChild(stream.children[0]);\r\n      }\r\n\r\n      var text = payload.t;\r\n      var i = 0;\r\n      var speed = 8 + Math.random() * 12;\r\n\r\n      var timer = setInterval(function(){\r\n        el.textContent = text.slice(0, i++);\r\n        if (i > text.length) {\r\n          clearInterval(timer);\r\n          el.classList.remove('is-typing');\r\n          setTimeout(nextLine, 230 + Math.random() * 360);\r\n        }\r\n      }, speed);\r\n    }\r\n\r\n    function nextLine(){\r\n      if (!document.body.classList.contains('ds-ready')) {\r\n        setTimeout(nextLine, 400);\r\n        return;\r\n      }\r\n\r\n      if (Math.random() > .82) {\r\n        var spacer = document.createElement('div');\r\n        spacer.className = 'ds-code-line is-dim';\r\n        spacer.textContent = '\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7';\r\n        stream.appendChild(spacer);\r\n        while (stream.children.length > maxLines) {\r\n          stream.removeChild(stream.children[0]);\r\n        }\r\n      }\r\n\r\n      typeLine(lines[index % lines.length]);\r\n      index++;\r\n    }\r\n\r\n    nextLine();\r\n  }\r\n\r\n  function initHeroRotator(){\r\n    var wrap = document.getElementById('dsHeroDynamic');\r\n    var chipWrap = document.getElementById('dsHeroChipWrap');\r\n    var counter = document.getElementById('dsHeroCounter');\r\n    var mode = document.getElementById('dsHeroMode');\r\n    var kicker = document.getElementById('dsHeroKicker');\r\n    var title = document.getElementById('dsHeroTitle');\r\n    var lead = document.getElementById('dsHeroLead');\r\n    var progress = document.getElementById('dsHeroProgress');\r\n\r\n    var chips = [\r\n      document.getElementById('dsHeroChip1'),\r\n      document.getElementById('dsHeroChip2'),\r\n      document.getElementById('dsHeroChip3')\r\n    ];\r\n\r\n    if (!wrap || !chipWrap || !counter || !mode || !kicker || !title || !lead || chips.some(function(chip){ return !chip; })) return;\r\n\r\n    function getHeroSlides(){\r\n      var lang = window.dsCurrentLang || 'en';\r\n      return (window.DS_I18N_HERO && window.DS_I18N_HERO[lang]) || (window.DS_I18N_HERO && window.DS_I18N_HERO.en) || [];\r\n    }\r\n\r\n    var index = 0;\r\n    var delay = 5600;\r\n\r\n    function restartProgress(){\r\n      if (!progress) return;\r\n      progress.style.animation = 'none';\r\n      progress.offsetHeight;\r\n      progress.style.animation = '';\r\n    }\r\n\r\n    function setSlide(nextIndex, instant){\r\n      var slides = getHeroSlides();\r\n      var slide = slides[nextIndex];\r\n      if (!slide) return;\r\n\r\n      if (!instant){\r\n        wrap.classList.add('is-changing');\r\n        chipWrap.classList.add('is-changing');\r\n      }\r\n\r\n      setTimeout(function(){\r\n        counter.textContent = String(nextIndex + 1).padStart(2,'0') + ' \/ ' + String(slides.length).padStart(2,'0');\r\n        mode.textContent = slide.mode;\r\n        kicker.textContent = slide.kicker;\r\n        title.innerHTML = slide.title;\r\n        lead.textContent = slide.lead;\r\n\r\n        chipWrap.classList.remove('layout-esl','layout-api','layout-robots','layout-future');\r\n        chipWrap.classList.add(slide.layout);\r\n\r\n        chips.forEach(function(chip, i){\r\n          chip.innerHTML = '<small>' + slide.chips[i][0] + '<\/small><strong>' + slide.chips[i][1] + '<\/strong>';\r\n        });\r\n\r\n        requestAnimationFrame(function(){\r\n          chipWrap.classList.remove('is-changing');\r\n          wrap.classList.remove('is-changing');\r\n\r\n          chips.forEach(function(chip, i){\r\n            setTimeout(function(){\r\n              chip.classList.add('is-pulse');\r\n              setTimeout(function(){ chip.classList.remove('is-pulse'); }, 650);\r\n            }, i * 120);\r\n          });\r\n        });\r\n\r\n        restartProgress();\r\n      }, instant ? 0 : 430);\r\n    }\r\n\r\n    window.DS_updateHeroLanguage = function(){ setSlide(index, true); };\r\n\r\n    setSlide(0, true);\r\n\r\n    setInterval(function(){\r\n      var slides = getHeroSlides();\r\n      index = (index + 1) % slides.length;\r\n      setSlide(index, false);\r\n    }, delay);\r\n  }\r\n\r\n  function initHeaderContext(){\r\n    var statusPill = document.getElementById('dsStatusPill');\r\n    var statusText = document.getElementById('dsStatusText');\r\n    var navLinks = Array.from(document.querySelectorAll('.ds-nav a[href^=\"#\"]'));\r\n\r\n    var sections = [\r\n      { id:'top', status:'Systems Online' },\r\n      { id:'solutions', status:'Retail Tech Stack' },\r\n      { id:'esl', status:'ESL Sync Ready' },\r\n      { id:'api', status:'API Bridge Active' },\r\n      { id:'robots', status:'Robotics Mode' },\r\n      { id:'contact', status:'Demo Channel Open' }\r\n    ];\r\n\r\n    var currentId = '';\r\n    var currentStatus = '';\r\n    var currentStatusKey = '';\r\n\r\n    function setStatus(nextStatus){\r\n      if (!statusPill || !statusText || !nextStatus || nextStatus === currentStatus) return;\r\n\r\n      currentStatus = nextStatus;\r\n      currentStatusKey = nextStatus;\r\n      statusPill.classList.add('is-changing');\r\n\r\n      setTimeout(function(){\r\n        statusText.textContent = window.DS_t ? window.DS_t(nextStatus) : nextStatus;\r\n        statusPill.classList.remove('is-changing');\r\n      }, 180);\r\n    }\r\n\r\n    function setActive(id){\r\n      navLinks.forEach(function(link){\r\n        var linkId = link.getAttribute('href').replace('#','');\r\n        link.classList.toggle('is-active', linkId === id);\r\n      });\r\n    }\r\n\r\n    function findCurrentSection(){\r\n      var header = document.querySelector('.ds-header');\r\n      var y = window.scrollY + (header ? header.offsetHeight : 64) + 96;\r\n      var active = sections[0];\r\n\r\n      sections.forEach(function(item){\r\n        var el = item.id === 'top' ? document.querySelector('.ds-hero') : document.getElementById(item.id);\r\n        if (!el) return;\r\n\r\n        var top = el.getBoundingClientRect().top + window.pageYOffset;\r\n\r\n        if (y >= top) active = item;\r\n      });\r\n\r\n      return active;\r\n    }\r\n\r\n    function update(){\r\n      var active = findCurrentSection();\r\n\r\n      if (!active || active.id === currentId) return;\r\n\r\n      currentId = active.id;\r\n      setStatus(active.status);\r\n\r\n      if (active.id === 'top') setActive('');\r\n      else setActive(active.id);\r\n    }\r\n\r\n    window.DS_updateStatusLanguage = function(){\r\n      if (statusText && currentStatusKey) statusText.textContent = window.DS_t ? window.DS_t(currentStatusKey) : currentStatusKey;\r\n    };\r\n\r\n    window.addEventListener('scroll', update, { passive:true });\r\n    window.addEventListener('resize', update);\r\n    update();\r\n  }\r\n\r\n  function initScrollGuide(){\r\n    var guide = document.getElementById('dsScrollGuide');\r\n    var label = document.getElementById('dsScrollGuideLabel');\r\n\r\n    if (!guide || !label) return;\r\n\r\n    var headerOffset = 104;\r\n\r\n    var stops = [\r\n      { id:'solutions', type:'section' },\r\n      { id:'esl', type:'section' },\r\n      { id:'api', type:'section' },\r\n      { id:'integrations', type:'inside' },\r\n      { id:'robots', type:'section' },\r\n      { id:'contact', type:'section' }\r\n    ];\r\n\r\n    function getPageMaxScroll(){\r\n      return Math.max(\r\n        document.body.scrollHeight,\r\n        document.documentElement.scrollHeight\r\n      ) - window.innerHeight;\r\n    }\r\n\r\n    function getElement(id){\r\n      if (id === 'top') return document.querySelector('.ds-hero');\r\n      return document.getElementById(id);\r\n    }\r\n\r\n    function getY(id){\r\n      var el = getElement(id);\r\n      if (!el) return null;\r\n\r\n      var targetY = el.getBoundingClientRect().top + window.pageYOffset - headerOffset;\r\n      if (id === 'integrations') targetY -= 78;\r\n      return targetY;\r\n    }\r\n\r\n    function getBottomY(id){\r\n      var el = getElement(id);\r\n      if (!el) return null;\r\n\r\n      var top = el.getBoundingClientRect().top + window.pageYOffset;\r\n      var bottom = top + el.offsetHeight;\r\n\r\n      return bottom - window.innerHeight + headerOffset + 22;\r\n    }\r\n\r\n    function scrollToY(y){\r\n      var max = getPageMaxScroll();\r\n\r\n      window.scrollTo({\r\n        top:Math.max(0, Math.min(y, max)),\r\n        behavior:'smooth'\r\n      });\r\n    }\r\n\r\n    function isNearBottom(){\r\n      return window.scrollY >= getPageMaxScroll() - 220;\r\n    }\r\n\r\n    function updateGuide(){\r\n      var backMode = isNearBottom();\r\n\r\n      guide.classList.toggle('is-back', backMode);\r\n      var guideKey = backMode ? 'Back to top' : 'Discover more';\r\n      label.textContent = window.DS_t ? window.DS_t(guideKey) : guideKey;\r\n      guide.setAttribute('aria-label', window.DS_t ? window.DS_t(guideKey) : guideKey);\r\n    }\r\n\r\n    function getCurrentStopIndex(){\r\n      var currentY = window.scrollY + headerOffset + 90;\r\n      var index = -1;\r\n\r\n      stops.forEach(function(stop, i){\r\n        var y = getY(stop.id);\r\n        if (y === null) return;\r\n\r\n        if (currentY >= y) {\r\n          index = i;\r\n        }\r\n      });\r\n\r\n      return index;\r\n    }\r\n\r\n    function isInsideTallStop(stop){\r\n      if (!stop) return false;\r\n\r\n      var el = getElement(stop.id);\r\n      if (!el) return false;\r\n\r\n      var top = el.getBoundingClientRect().top + window.pageYOffset;\r\n      var bottom = top + el.offsetHeight;\r\n      var viewportBottom = window.scrollY + window.innerHeight;\r\n\r\n      var isTall = el.offsetHeight > window.innerHeight * 1.15;\r\n      var stillHasHiddenBottom = bottom - viewportBottom > 180;\r\n\r\n      return isTall && stillHasHiddenBottom;\r\n    }\r\n\r\n    function goNext(){\r\n      if (isNearBottom()) {\r\n        scrollToY(0);\r\n        return;\r\n      }\r\n\r\n      var currentIndex = getCurrentStopIndex();\r\n\r\n      if (currentIndex < 0) {\r\n        var firstY = getY('solutions');\r\n        if (firstY !== null) scrollToY(firstY);\r\n        return;\r\n      }\r\n\r\n      var currentStop = stops[currentIndex];\r\n\r\n      if (\r\n        currentStop &&\r\n        currentStop.id !== 'api' &&\r\n        currentStop.id !== 'integrations' &&\r\n        currentStop.id !== 'contact' &&\r\n        isInsideTallStop(currentStop)\r\n      ) {\r\n        var bottomY = getBottomY(currentStop.id);\r\n        if (bottomY !== null) {\r\n          scrollToY(bottomY);\r\n          return;\r\n        }\r\n      }\r\n\r\n      if (currentStop && currentStop.id === 'api') {\r\n        var integrationsY = getY('integrations');\r\n\r\n        if (integrationsY !== null && window.scrollY + headerOffset + 120 < integrationsY) {\r\n          scrollToY(integrationsY);\r\n          return;\r\n        }\r\n      }\r\n\r\n      var nextStop = stops[currentIndex + 1];\r\n\r\n      if (nextStop) {\r\n        var nextY = getY(nextStop.id);\r\n        if (nextY !== null) {\r\n          scrollToY(nextY);\r\n          return;\r\n        }\r\n      }\r\n\r\n      scrollToY(getPageMaxScroll());\r\n    }\r\n\r\n    guide.addEventListener('click', goNext);\r\n\r\n    window.DS_updateScrollGuideLanguage = updateGuide;\r\n\r\n    window.addEventListener('scroll', updateGuide, { passive:true });\r\n    window.addEventListener('resize', updateGuide);\r\n\r\n    updateGuide();\r\n  }\r\n\r\n  function initScrollMorph(){\r\n    var boxes = Array.from(document.querySelectorAll(\r\n      '.ds-card, .ds-cta, .ds-showcase, .ds-api-panel, .ds-robot-left, .ds-robot-right-card, .ds-integration-experience'\r\n    ));\r\n\r\n    var titles = Array.from(document.querySelectorAll(\r\n      '.ds-h1, .ds-title, .ds-cta h2'\r\n    ));\r\n\r\n    var ticking = false;\r\n\r\n    function calculateScale(rect, viewportHeight, minScale, maxBoost, focusPoint){\r\n      var elementCenter = rect.top + rect.height \/ 2;\r\n      var distance = Math.min(1, Math.abs(elementCenter - focusPoint) \/ (viewportHeight * .78));\r\n      var influence = 1 - distance;\r\n      return minScale + influence * maxBoost;\r\n    }\r\n\r\n    function applyMorph(){\r\n      var vh = window.innerHeight;\r\n      var focusPoint = vh * .52;\r\n\r\n      boxes.forEach(function(el){\r\n        var rect = el.getBoundingClientRect();\r\n        if (rect.bottom < -200 || rect.top > vh + 200) return;\r\n\r\n        var scale = calculateScale(rect, vh, .982, .038, focusPoint);\r\n        el.style.setProperty('--ds-box-scale', scale.toFixed(4));\r\n      });\r\n\r\n      titles.forEach(function(el){\r\n        var rect = el.getBoundingClientRect();\r\n        if (rect.bottom < -200 || rect.top > vh + 200) return;\r\n\r\n        var scale = calculateScale(rect, vh, .988, .028, focusPoint);\r\n        el.style.setProperty('--ds-title-scale', scale.toFixed(4));\r\n      });\r\n\r\n      ticking = false;\r\n    }\r\n\r\n    function requestMorph(){\r\n      if (ticking) return;\r\n      ticking = true;\r\n      requestAnimationFrame(applyMorph);\r\n    }\r\n\r\n    window.addEventListener('scroll', requestMorph, { passive:true });\r\n    window.addEventListener('resize', requestMorph);\r\n    applyMorph();\r\n  }\r\n\r\n  function initMatrixLetters(){\r\n    var targets = Array.from(document.querySelectorAll(\r\n      '.ds-h1, .ds-title, .ds-cta h2'\r\n    ));\r\n\r\n    if (!targets.length) return;\r\n\r\n    var charset = 'ABCDEFGHJKLMNPQRSTUVWXYZ0123456789\u00c6\u00d8\u00d0\u00de';\r\n    var fx = document.createElement('span');\r\n\r\n    fx.className = 'ds-matrix-letter-fx';\r\n    fx.setAttribute('aria-hidden', 'true');\r\n    document.body.appendChild(fx);\r\n\r\n    function getTextNodes(el){\r\n      var nodes = [];\r\n\r\n      var walker = document.createTreeWalker(el, NodeFilter.SHOW_TEXT, {\r\n        acceptNode:function(node){\r\n          if (!node.nodeValue || !node.nodeValue.trim()) return NodeFilter.FILTER_REJECT;\r\n          if (node.nodeValue.trim().length < 3) return NodeFilter.FILTER_REJECT;\r\n          return NodeFilter.FILTER_ACCEPT;\r\n        }\r\n      });\r\n\r\n      while(walker.nextNode()){\r\n        nodes.push(walker.currentNode);\r\n      }\r\n\r\n      return nodes;\r\n    }\r\n\r\n    function isVisible(el){\r\n      var rect = el.getBoundingClientRect();\r\n      return rect.bottom > 0 && rect.top < window.innerHeight;\r\n    }\r\n\r\n    function pickVisibleTarget(){\r\n      var visible = targets.filter(isVisible);\r\n      if (visible.length) return visible[Math.floor(Math.random() * visible.length)];\r\n      return targets[Math.floor(Math.random() * targets.length)];\r\n    }\r\n\r\n    function getRandomLetterRange(el){\r\n      var nodes = getTextNodes(el);\r\n\r\n      for(var attempt = 0; attempt < 25; attempt++){\r\n        var node = nodes[Math.floor(Math.random() * nodes.length)];\r\n        if (!node) continue;\r\n\r\n        var text = node.nodeValue;\r\n        var indexes = [];\r\n\r\n        for(var i = 0; i < text.length; i++){\r\n          if(\/[a-zA-Z0-9\u00c6\u00d8\u00d0\u00de\u00e6\u00f8\u00f0\u00fe]\/.test(text[i])) indexes.push(i);\r\n        }\r\n\r\n        if (!indexes.length) continue;\r\n\r\n        var index = indexes[Math.floor(Math.random() * indexes.length)];\r\n        var range = document.createRange();\r\n\r\n        range.setStart(node, index);\r\n        range.setEnd(node, index + 1);\r\n\r\n        var rect = range.getBoundingClientRect();\r\n\r\n        if (rect.width > 0 && rect.height > 0) {\r\n          return {\r\n            node:node,\r\n            index:index,\r\n            originalChar:text[index],\r\n            rect:rect,\r\n            element:node.parentElement || el\r\n          };\r\n        }\r\n      }\r\n\r\n      return null;\r\n    }\r\n\r\n    function copyTextStyle(source, rect){\r\n      var style = window.getComputedStyle(source);\r\n\r\n      fx.style.left = rect.left + 'px';\r\n      fx.style.top = rect.top + 'px';\r\n      fx.style.width = rect.width + 'px';\r\n      fx.style.height = rect.height + 'px';\r\n\r\n      fx.style.fontFamily = style.fontFamily;\r\n      fx.style.fontSize = style.fontSize;\r\n      fx.style.fontWeight = style.fontWeight;\r\n      fx.style.fontStyle = style.fontStyle;\r\n      fx.style.lineHeight = style.lineHeight;\r\n      fx.style.letterSpacing = style.letterSpacing;\r\n    }\r\n\r\n    function runLetterCycle(){\r\n      if (!document.body.classList.contains('ds-ready')) {\r\n        scheduleNextCycle();\r\n        return;\r\n      }\r\n\r\n      var target = pickVisibleTarget();\r\n      var picked = getRandomLetterRange(target);\r\n\r\n      if (!picked) {\r\n        scheduleNextCycle();\r\n        return;\r\n      }\r\n\r\n      var totalFrames = 8 + Math.floor(Math.random() * 5);\r\n      var speed = 48 + Math.random() * 22;\r\n\r\n      var frame = 0;\r\n\r\n      copyTextStyle(picked.element, picked.rect);\r\n\r\n      fx.textContent = picked.originalChar;\r\n\r\n      requestAnimationFrame(function(){\r\n        fx.classList.add('is-visible');\r\n      });\r\n\r\n      var interval = setInterval(function(){\r\n        if (frame >= totalFrames) {\r\n          fx.textContent = picked.originalChar;\r\n\r\n          setTimeout(function(){\r\n            fx.classList.remove('is-visible');\r\n          }, 120);\r\n\r\n          clearInterval(interval);\r\n          scheduleNextCycle();\r\n          return;\r\n        }\r\n\r\n        fx.textContent = charset[Math.floor(Math.random() * charset.length)];\r\n        frame++;\r\n      }, speed);\r\n    }\r\n\r\n    function scheduleNextCycle(){\r\n      var delay = 1500 + Math.random() * 3200;\r\n      setTimeout(runLetterCycle, delay);\r\n    }\r\n\r\n    scheduleNextCycle();\r\n  }\r\n\r\n  function initESLAnimations(){\r\n    var prices = Array.from(document.querySelectorAll('.ds-animated-price[data-target]'));\r\n    if (!prices.length) return;\r\n\r\n    function rollOne(price, delay){\r\n      setTimeout(function(){\r\n        var target = String(price.getAttribute('data-target') || '000');\r\n        var digits = Array.from(price.querySelectorAll('.ds-price-digit'));\r\n        var device = price.closest('.ds-label-device');\r\n        var led = device ? device.querySelector('.ds-label-led') : null;\r\n        var meta = device ? device.querySelector('.ds-label-meta') : null;\r\n        var frame = 0;\r\n\r\n        if (led) led.classList.remove('is-synced');\r\n        if (meta) {\r\n          meta.textContent = window.DS_t ? window.DS_t('SYNCING') : 'SYNCING';\r\n          meta.classList.remove('ds-synced');\r\n          meta.classList.add('ds-waiting');\r\n        }\r\n\r\n        var timer = setInterval(function(){\r\n          digits.forEach(function(digit){\r\n            digit.textContent = Math.floor(Math.random() * 10);\r\n            digit.classList.add('is-rolling');\r\n            digit.style.transform = 'translate(' + ((Math.random() * 16) - 8).toFixed(1) + 'px,' + ((Math.random() * 14) - 8).toFixed(1) + 'px) rotate(' + ((Math.random() * 16) - 8).toFixed(1) + 'deg)';\r\n          });\r\n\r\n          frame++;\r\n\r\n          if (frame >= 15){\r\n            clearInterval(timer);\r\n\r\n            digits.forEach(function(digit, i){\r\n              digit.textContent = target[i] || '0';\r\n              digit.classList.remove('is-rolling');\r\n              digit.style.transform = '';\r\n            });\r\n\r\n            if (led) {\r\n              setTimeout(function(){ led.classList.add('is-synced'); }, 140);\r\n            }\r\n\r\n            if (meta) {\r\n              setTimeout(function(){\r\n                meta.textContent = window.DS_t ? window.DS_t('SYNCED') : 'SYNCED';\r\n                meta.classList.remove('ds-waiting');\r\n                meta.classList.add('ds-synced');\r\n              }, 160);\r\n            }\r\n          }\r\n        }, 78);\r\n      }, delay || 0);\r\n    }\r\n\r\n    function rollAll(){\r\n      prices.forEach(function(price, i){\r\n        rollOne(price, i * 260);\r\n      });\r\n    }\r\n\r\n    rollAll();\r\n    setInterval(rollAll, 5200);\r\n  }\r\n\r\n  initESLAnimations();\r\n\r\n})();\r\n<\/script>\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t<footer id=\"site-footer\" class=\"site-footer dynamic-footer footer-has-copyright\">\r\n\t<div class=\"footer-inner\">\r\n\t\t<div class=\"site-branding show-logo\">\r\n\t\t\t\t\t<\/div>\r\n\r\n\t\t\r\n\t\t\t\t\t<div class=\"copyright show\">\r\n\t\t\t\t<p>Wszelkie prawa zastrze\u017cone<\/p>\r\n\t\t\t<\/div>\r\n\t\t\t<\/div>\r\n<\/footer>\r\n\r\n<template id=\"tp-language\" data-tp-language=\"pl_PL\"><\/template>\t\t\t<script>\r\n\t\t\t\tconst lazyloadRunObserver = () => {\r\n\t\t\t\t\tconst lazyloadBackgrounds = document.querySelectorAll( `.e-con.e-parent:not(.e-lazyloaded)` );\r\n\t\t\t\t\tconst lazyloadBackgroundObserver = new IntersectionObserver( ( entries ) => {\r\n\t\t\t\t\t\tentries.forEach( ( entry ) => {\r\n\t\t\t\t\t\t\tif ( entry.isIntersecting ) {\r\n\t\t\t\t\t\t\t\tlet lazyloadBackground = entry.target;\r\n\t\t\t\t\t\t\t\tif( lazyloadBackground ) {\r\n\t\t\t\t\t\t\t\t\tlazyloadBackground.classList.add( 'e-lazyloaded' );\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tlazyloadBackgroundObserver.unobserve( entry.target );\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}, { rootMargin: '200px 0px 200px 0px' } );\r\n\t\t\t\t\tlazyloadBackgrounds.forEach( ( lazyloadBackground ) => {\r\n\t\t\t\t\t\tlazyloadBackgroundObserver.observe( lazyloadBackground );\r\n\t\t\t\t\t} );\r\n\t\t\t\t};\r\n\t\t\t\tconst events = [\r\n\t\t\t\t\t'DOMContentLoaded',\r\n\t\t\t\t\t'elementor\/lazyload\/observe',\r\n\t\t\t\t];\r\n\t\t\t\tevents.forEach( ( event ) => {\r\n\t\t\t\t\tdocument.addEventListener( event, lazyloadRunObserver );\r\n\t\t\t\t} );\r\n\t\t\t<\/script>\r\n\t\t\t<script id=\"fluentform-elementor-js-extra\">\r\nvar fluentformElementor = {\"adminUrl\":\"https:\/\/digitalsolution.is\/wp-admin\/admin.php\"};\r\n\/\/# sourceURL=fluentform-elementor-js-extra\r\n<\/script>\r\n<script id=\"fluentform-elementor-js\" src=\"https:\/\/digitalsolution.is\/wp-content\/plugins\/fluentform\/assets\/js\/fluent-forms-elementor-widget.js?ver=6.2.5\"><\/script>\r\n<script id=\"hello-theme-frontend-js\" src=\"https:\/\/digitalsolution.is\/wp-content\/themes\/hello-elementor\/assets\/js\/hello-frontend.js?ver=3.4.9\"><\/script>\r\n<script id=\"elementor-webpack-runtime-js\" src=\"https:\/\/digitalsolution.is\/wp-content\/plugins\/elementor\/assets\/js\/webpack.runtime.min.js?ver=4.1.4\"><\/script>\r\n<script id=\"elementor-frontend-modules-js\" src=\"https:\/\/digitalsolution.is\/wp-content\/plugins\/elementor\/assets\/js\/frontend-modules.min.js?ver=4.1.4\"><\/script>\r\n<script id=\"jquery-ui-core-js\" src=\"https:\/\/digitalsolution.is\/wp-includes\/js\/jquery\/ui\/core.min.js?ver=1.13.3\"><\/script>\r\n<script id=\"elementor-frontend-js-extra\">\r\nvar EAELImageMaskingConfig = {\"svg_dir_url\":\"https:\/\/digitalsolution.is\/wp-content\/plugins\/essential-addons-for-elementor-lite\/assets\/front-end\/img\/image-masking\/svg-shapes\/\"};\r\n\/\/# sourceURL=elementor-frontend-js-extra\r\n<\/script>\r\n<script id=\"elementor-frontend-js-before\">\r\nvar elementorFrontendConfig = {\"environmentMode\":{\"edit\":false,\"wpPreview\":false,\"isScriptDebug\":false},\"i18n\":{\"shareOnFacebook\":\"Udost\\u0119pnij na Facebooku\",\"shareOnTwitter\":\"Udost\\u0119pnij na X\",\"pinIt\":\"Przypnij\",\"download\":\"Pobierz\",\"downloadImage\":\"Pobierz obrazek\",\"fullscreen\":\"Tryb pe\\u0142noekranowy\",\"zoom\":\"Powi\\u0119ksz\",\"share\":\"Udost\\u0119pnij\",\"playVideo\":\"Odtw\\u00f3rz film\",\"previous\":\"Poprzednie\",\"next\":\"Nast\\u0119pne\",\"close\":\"Zamknij\",\"a11yCarouselPrevSlideMessage\":\"Poprzedni slajd\",\"a11yCarouselNextSlideMessage\":\"Nast\\u0119pny slajd\",\"a11yCarouselFirstSlideMessage\":\"To jest pierwszy slajd\",\"a11yCarouselLastSlideMessage\":\"To jest ostatni slajd\",\"a11yCarouselPaginationBulletMessage\":\"Id\\u017a do slajdu\"},\"is_rtl\":false,\"breakpoints\":{\"xs\":0,\"sm\":480,\"md\":768,\"lg\":1025,\"xl\":1440,\"xxl\":1600},\"responsive\":{\"breakpoints\":{\"mobile\":{\"label\":\"Mobilny pionowy\",\"value\":767,\"default_value\":767,\"direction\":\"max\",\"is_enabled\":true},\"mobile_extra\":{\"label\":\"Mobilny poziomy\",\"value\":880,\"default_value\":880,\"direction\":\"max\",\"is_enabled\":false},\"tablet\":{\"label\":\"Pionowy tablet\",\"value\":1024,\"default_value\":1024,\"direction\":\"max\",\"is_enabled\":true},\"tablet_extra\":{\"label\":\"Poziomy tablet\",\"value\":1200,\"default_value\":1200,\"direction\":\"max\",\"is_enabled\":false},\"laptop\":{\"label\":\"Laptop\",\"value\":1366,\"default_value\":1366,\"direction\":\"max\",\"is_enabled\":false},\"widescreen\":{\"label\":\"Szeroki ekran\",\"value\":2400,\"default_value\":2400,\"direction\":\"min\",\"is_enabled\":false}},\"hasCustomBreakpoints\":false},\"version\":\"4.1.4\",\"is_static\":false,\"experimentalFeatures\":{\"e_font_icon_svg\":true,\"additional_custom_breakpoints\":true,\"container\":true,\"e_optimized_markup\":true,\"e_panel_promotions\":true,\"hello-theme-header-footer\":true,\"e_pro_free_trial_popup\":true,\"nested-elements\":true,\"e_atomic_elements\":true,\"atomic_widgets_should_enforce_capabilities\":true,\"editor_mcp\":true,\"e_bc_migrations\":true,\"e_editor_design_system_panel\":true,\"e_classes\":true,\"global_classes_should_enforce_capabilities\":true,\"e_variables\":true,\"e_variables_manager\":true,\"e_opt_in_v4_page\":true,\"e_opt_in_v4\":true,\"e_components\":true,\"e_interactions\":true,\"e_widget_creation\":true,\"import-export-customization\":true},\"urls\":{\"assets\":\"https:\\\/\\\/digitalsolution.is\\\/wp-content\\\/plugins\\\/elementor\\\/assets\\\/\",\"ajaxurl\":\"https:\\\/\\\/digitalsolution.is\\\/wp-admin\\\/admin-ajax.php\",\"uploadUrl\":\"https:\\\/\\\/digitalsolution.is\\\/wp-content\\\/uploads\"},\"nonces\":{\"floatingButtonsClickTracking\":\"077e8e4fc5\",\"atomicFormsSendForm\":\"d5bef95386\"},\"swiperClass\":\"swiper\",\"settings\":{\"page\":[],\"editorPreferences\":[]},\"kit\":{\"active_breakpoints\":[\"viewport_mobile\",\"viewport_tablet\"],\"global_image_lightbox\":\"yes\",\"lightbox_enable_counter\":\"yes\",\"lightbox_enable_fullscreen\":\"yes\",\"lightbox_enable_zoom\":\"yes\",\"lightbox_enable_share\":\"yes\",\"lightbox_title_src\":\"title\",\"lightbox_description_src\":\"description\",\"hello_header_logo_type\":\"title\",\"hello_footer_logo_type\":\"logo\"},\"post\":{\"id\":14,\"title\":\"DigitalSolution.is\",\"excerpt\":\"\",\"featuredImage\":false}};\r\n\/\/# sourceURL=elementor-frontend-js-before\r\n<\/script>\r\n<script id=\"elementor-frontend-js\" src=\"https:\/\/digitalsolution.is\/wp-content\/plugins\/elementor\/assets\/js\/frontend.min.js?ver=4.1.4\"><\/script>\r\n<script id=\"eael-general-js-extra\">\r\nvar localize = {\"ajaxurl\":\"https:\/\/digitalsolution.is\/wp-admin\/admin-ajax.php\",\"nonce\":\"73ef0110ac\",\"i18n\":{\"added\":\"Added \",\"compare\":\"Compare\",\"loading\":\"Loading...\"},\"eael_translate_text\":{\"required_text\":\"is a required field\",\"invalid_text\":\"Invalid\",\"billing_text\":\"Billing\",\"shipping_text\":\"Shipping\",\"fg_mfp_counter_text\":\"of\"},\"page_permalink\":\"https:\/\/digitalsolution.is\/\",\"cart_redirectition\":\"\",\"cart_page_url\":\"\",\"el_breakpoints\":{\"mobile\":{\"label\":\"Mobilny pionowy\",\"value\":767,\"default_value\":767,\"direction\":\"max\",\"is_enabled\":true},\"mobile_extra\":{\"label\":\"Mobilny poziomy\",\"value\":880,\"default_value\":880,\"direction\":\"max\",\"is_enabled\":false},\"tablet\":{\"label\":\"Pionowy tablet\",\"value\":1024,\"default_value\":1024,\"direction\":\"max\",\"is_enabled\":true},\"tablet_extra\":{\"label\":\"Poziomy tablet\",\"value\":1200,\"default_value\":1200,\"direction\":\"max\",\"is_enabled\":false},\"laptop\":{\"label\":\"Laptop\",\"value\":1366,\"default_value\":1366,\"direction\":\"max\",\"is_enabled\":false},\"widescreen\":{\"label\":\"Szeroki ekran\",\"value\":2400,\"default_value\":2400,\"direction\":\"min\",\"is_enabled\":false}}};\r\n\/\/# sourceURL=eael-general-js-extra\r\n<\/script>\r\n<script id=\"eael-general-js\" src=\"https:\/\/digitalsolution.is\/wp-content\/plugins\/essential-addons-for-elementor-lite\/assets\/front-end\/js\/view\/general.min.js?ver=6.6.10\"><\/script>\r\n<script id=\"wp-emoji-settings\" type=\"application\/json\">\r\n{\"baseUrl\":\"https:\/\/s.w.org\/images\/core\/emoji\/17.0.2\/72x72\/\",\"ext\":\".png\",\"svgUrl\":\"https:\/\/s.w.org\/images\/core\/emoji\/17.0.2\/svg\/\",\"svgExt\":\".svg\",\"source\":{\"concatemoji\":\"https:\/\/digitalsolution.is\/wp-includes\/js\/wp-emoji-release.min.js?ver=7.0.2\"}}\r\n<\/script>\r\n<script type=\"module\">\r\n\/*! This file is auto-generated *\/\r\nconst a=JSON.parse(document.getElementById(\"wp-emoji-settings\").textContent),o=(window._wpemojiSettings=a,\"wpEmojiSettingsSupports\"),s=[\"flag\",\"emoji\"];function i(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const a=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)=>e===a[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e<n.data.length;e++)if(0!==n.data[e])return!1;return!0}function u(e,t,n,a){switch(t){case\"flag\":return n(e,\"\\ud83c\\udff3\\ufe0f\\u200d\\u26a7\\ufe0f\",\"\\ud83c\\udff3\\ufe0f\\u200b\\u26a7\\ufe0f\")?!1:!n(e,\"\\ud83c\\udde8\\ud83c\\uddf6\",\"\\ud83c\\udde8\\u200b\\ud83c\\uddf6\")&&!n(e,\"\\ud83c\\udff4\\udb40\\udc67\\udb40\\udc62\\udb40\\udc65\\udb40\\udc6e\\udb40\\udc67\\udb40\\udc7f\",\"\\ud83c\\udff4\\u200b\\udb40\\udc67\\u200b\\udb40\\udc62\\u200b\\udb40\\udc65\\u200b\\udb40\\udc6e\\u200b\\udb40\\udc67\\u200b\\udb40\\udc7f\");case\"emoji\":return!a(e,\"\\ud83e\\u1fac8\")}return!1}function f(e,t,n,a){let r;const o=(r=\"undefined\"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement(\"canvas\")).getContext(\"2d\",{willReadFrequently:!0}),s=(o.textBaseline=\"top\",o.font=\"600 32px Arial\",{});return e.forEach(e=>{s[e]=t(o,e,n,a)}),s}function r(e){var t=document.createElement(\"script\");t.src=e,t.defer=!0,document.head.appendChild(t)}a.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if(\"object\"==typeof e&&\"number\"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&\"object\"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if(\"undefined\"!=typeof Worker&&\"undefined\"!=typeof OffscreenCanvas&&\"undefined\"!=typeof URL&&URL.createObjectURL&&\"undefined\"!=typeof Blob)try{var e=\"postMessage(\"+f.toString()+\"(\"+[JSON.stringify(s),u.toString(),c.toString(),p.toString()].join(\",\")+\"));\",a=new Blob([e],{type:\"text\/javascript\"});const r=new Worker(URL.createObjectURL(a),{name:\"wpTestEmojiSupports\"});return void(r.onmessage=e=>{i(n=e.data),r.terminate(),t(n)})}catch(e){}i(n=f(s,u,c,p))}t(n)}).then(e=>{for(const n in e)a.supports[n]=e[n],a.supports.everything=a.supports.everything&&a.supports[n],\"flag\"!==n&&(a.supports.everythingExceptFlag=a.supports.everythingExceptFlag&&a.supports[n]);var t;a.supports.everythingExceptFlag=a.supports.everythingExceptFlag&&!a.supports.flag,a.supports.everything||((t=a.source||{}).concatemoji?r(t.concatemoji):t.wpemoji&&t.twemoji&&(r(t.twemoji),r(t.wpemoji)))});\r\n\/\/# sourceURL=https:\/\/digitalsolution.is\/wp-includes\/js\/wp-emoji-loader.min.js\r\n<\/script>\r\n\r\n<nav\r\n    class=\"trp-language-switcher trp-floating-switcher trp-ls-dropdown trp-switcher-position-bottom\"\r\n    style=\"--bg:#ffffff;--bg-hover:#0000000d;--text:#143852;--text-hover:#1d2327;--border:1px solid #1438521a;--border-radius:8px 8px 0px 0px;--flag-radius:2px;--flag-size:18px;--aspect-ratio:4\/3;--font-size:14px;--switcher-width:auto;--switcher-padding:10px 0;--transition-duration:0.2s;--bottom:0px;--right:10vw\"\r\n    role=\"navigation\"\r\n    aria-label=\"Selektor j\u0119zyka witryny\"\r\n    data-no-translation\r\n>\r\n    \r\n            <div class=\"trp-language-switcher-inner\">\r\n            <div class=\"trp-language-item trp-language-item__current\" title=\"Polish\" role=\"button\" tabindex=\"0\" aria-expanded=\"false\" aria-label=\"Zmie\u0144 j\u0119zyk\" aria-controls=\"trp-switcher-dropdown-list\" data-no-translation><img loading=\"lazy\" src=\"https:\/\/digitalsolution.is\/wp-content\/plugins\/translatepress-multilingual\/assets\/flags\/4x3\/pl_PL.svg\" class=\"trp-flag-image\" alt=\"\" role=\"presentation\" loading=\"lazy\" decoding=\"async\" width=\"18\" height=\"14\" \/><span class=\"trp-language-item-name\">Polish<\/span><\/div>\r\n            <div\r\n                class=\"trp-switcher-dropdown-list\"\r\n                id=\"trp-switcher-dropdown-list\"\r\n                role=\"group\"\r\n                aria-label=\"Dost\u0119pne j\u0119zyki\"\r\n                hidden\r\n                inert\r\n            >\r\n                            <\/div>\r\n        <\/div>\r\n\r\n    <\/nav>\r\n\r\n<\/body>\r\n<\/html>\r\n\r\n\r\n<!-- Page supported by LiteSpeed Cache 7.8.1 on 2026-07-24 19:59:24 -->\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>DigitalSolution.is Przejd\u017a do tre\u015bci DigitalSolution.is Welcome to the future. API \/ OAuth \/ LiDAR telemetry Discover more Solutions ESL API Robots Contact Systems Online IS\/EN\/NO\/PL 01 \/ 04 ESL Sync Ready Electronic shelf labels Pricesupdatethemselves. Electronic Shelf Labels synchronized with your sales systems, product database or ERP. Live pricing ESL labels synced in real time [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"inline_featured_image":false,"footnotes":""},"class_list":["post-14","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/digitalsolution.is\/index.php?rest_route=\/wp\/v2\/pages\/14","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/digitalsolution.is\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/digitalsolution.is\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/digitalsolution.is\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/digitalsolution.is\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=14"}],"version-history":[{"count":187,"href":"https:\/\/digitalsolution.is\/index.php?rest_route=\/wp\/v2\/pages\/14\/revisions"}],"predecessor-version":[{"id":226,"href":"https:\/\/digitalsolution.is\/index.php?rest_route=\/wp\/v2\/pages\/14\/revisions\/226"}],"wp:attachment":[{"href":"https:\/\/digitalsolution.is\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=14"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}