@duetds/components 7.0.13 → 7.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (828) hide show
  1. package/hydrate/index.js +275 -37
  2. package/lib/cjs/duet-action-button.cjs.entry.js +5 -1
  3. package/lib/cjs/duet-alert.cjs.entry.js +4 -1
  4. package/lib/cjs/duet-badge.cjs.entry.js +6 -1
  5. package/lib/cjs/duet-banner.cjs.entry.js +5 -1
  6. package/lib/cjs/duet-breadcrumb.cjs.entry.js +5 -1
  7. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +1 -1
  8. package/lib/cjs/duet-button_2.cjs.entry.js +5 -1
  9. package/lib/cjs/duet-callout.cjs.entry.js +5 -1
  10. package/lib/cjs/duet-caption_4.cjs.entry.js +16 -1
  11. package/lib/cjs/duet-card.cjs.entry.js +5 -1
  12. package/lib/cjs/duet-checkbox.cjs.entry.js +5 -1
  13. package/lib/cjs/duet-checkmark.cjs.entry.js +1 -1
  14. package/lib/cjs/duet-chip.cjs.entry.js +18 -14
  15. package/lib/cjs/duet-choice_2.cjs.entry.js +9 -2
  16. package/lib/cjs/duet-collapsible.cjs.entry.js +5 -1
  17. package/lib/cjs/duet-combobox.cjs.entry.js +1 -1
  18. package/lib/cjs/duet-contact-card.cjs.entry.js +5 -1
  19. package/lib/cjs/duet-cookie-consent.cjs.entry.js +5 -1
  20. package/lib/cjs/duet-date-picker.cjs.entry.js +6 -2
  21. package/lib/cjs/duet-divider_2.cjs.entry.js +1 -1
  22. package/lib/cjs/duet-editable-table_3.cjs.entry.js +8 -1
  23. package/lib/cjs/duet-empty-state.cjs.entry.js +6 -1
  24. package/lib/cjs/duet-fieldset.cjs.entry.js +5 -1
  25. package/lib/cjs/duet-footer.cjs.entry.js +5 -1
  26. package/lib/cjs/duet-grid_2.cjs.entry.js +1 -1
  27. package/lib/cjs/duet-header_2.cjs.entry.js +5 -1
  28. package/lib/cjs/duet-hero.cjs.entry.js +6 -2
  29. package/lib/cjs/duet-icon.cjs.entry.js +5 -1
  30. package/lib/cjs/duet-input_2.cjs.entry.js +7 -1
  31. package/lib/cjs/duet-layout.cjs.entry.js +1 -1
  32. package/lib/cjs/duet-list_2.cjs.entry.js +1 -1
  33. package/lib/cjs/duet-menu-bar-button.cjs.entry.js +5 -1
  34. package/lib/cjs/duet-menu-bar-dropdown-link.cjs.entry.js +5 -1
  35. package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +5 -1
  36. package/lib/cjs/duet-menu-bar-link.cjs.entry.js +5 -1
  37. package/lib/cjs/duet-menu-bar.cjs.entry.js +3 -1
  38. package/lib/cjs/duet-modal.cjs.entry.js +5 -3
  39. package/lib/cjs/duet-multiselect.cjs.entry.js +5 -1
  40. package/lib/cjs/duet-nav.cjs.entry.js +1 -1
  41. package/lib/cjs/duet-notification_2.cjs.entry.js +8 -1
  42. package/lib/cjs/duet-number-input.cjs.entry.js +5 -1
  43. package/lib/cjs/duet-page-heading.cjs.entry.js +5 -1
  44. package/lib/cjs/duet-pagination_2.cjs.entry.js +4 -1
  45. package/lib/cjs/duet-popup-menu-item.cjs.entry.js +5 -1
  46. package/lib/cjs/duet-popup-menu.cjs.entry.js +2 -2
  47. package/lib/cjs/duet-progress.cjs.entry.js +5 -1
  48. package/lib/cjs/duet-promo-card.cjs.entry.js +5 -1
  49. package/lib/cjs/duet-radio_2.cjs.entry.js +5 -1
  50. package/lib/cjs/duet-range-slider.cjs.entry.js +5 -1
  51. package/lib/cjs/duet-scrollable_3.cjs.entry.js +14 -7
  52. package/lib/cjs/duet-section-layout.cjs.entry.js +1 -1
  53. package/lib/cjs/duet-select.cjs.entry.js +5 -1
  54. package/lib/cjs/duet-shaped-image.cjs.entry.js +1 -1
  55. package/lib/cjs/duet-show-more.cjs.entry.js +5 -1
  56. package/lib/cjs/duet-slideout-lang.cjs.entry.js +5 -1
  57. package/lib/cjs/duet-slideout-link.cjs.entry.js +5 -1
  58. package/lib/cjs/duet-slideout-panel-dropdown.cjs.entry.js +5 -1
  59. package/lib/cjs/duet-slideout-panel.cjs.entry.js +6 -2
  60. package/lib/cjs/duet-slideout.cjs.entry.js +4 -2
  61. package/lib/cjs/duet-step_2.cjs.entry.js +8 -1
  62. package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +5 -1
  63. package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +5 -1
  64. package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +5 -1
  65. package/lib/cjs/duet-submenu-bar.cjs.entry.js +5 -1
  66. package/lib/cjs/duet-textarea.cjs.entry.js +5 -1
  67. package/lib/cjs/duet-toggle.cjs.entry.js +5 -1
  68. package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +5 -1
  69. package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +5 -1
  70. package/lib/cjs/duet-toolbar-link.cjs.entry.js +5 -1
  71. package/lib/cjs/duet-toolbar.cjs.entry.js +1 -1
  72. package/lib/cjs/duet-tooltip-button_2.cjs.entry.js +22 -2
  73. package/lib/cjs/duet-tooltip.cjs.entry.js +4 -6
  74. package/lib/cjs/duet-tray.cjs.entry.js +5 -1
  75. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +9 -1
  76. package/lib/cjs/duet-upload-item.cjs.entry.js +6 -1
  77. package/lib/cjs/duet-visually-hidden.cjs.entry.js +6 -1
  78. package/lib/cjs/duet.cjs.js +2 -2
  79. package/lib/cjs/{focus-utils-a94e86a5.js → focus-utils-09463cf4.js} +1 -1
  80. package/lib/cjs/{index-04d05fd9.js → index-e43540c9.js} +1 -1
  81. package/lib/cjs/loader.cjs.js +2 -2
  82. package/lib/cjs/nudge-82021e4f.js +18 -0
  83. package/lib/cjs/{teleport-18e2b4b9.js → teleport-3166d264.js} +9 -12
  84. package/lib/collection/components/duet-action-button/duet-action-button.js +4 -0
  85. package/lib/collection/components/duet-alert/duet-alert.js +3 -0
  86. package/lib/collection/components/duet-badge/duet-badge.js +5 -0
  87. package/lib/collection/components/duet-banner/duet-banner.js +4 -0
  88. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumb.js +4 -0
  89. package/lib/collection/components/duet-button/duet-button.js +4 -0
  90. package/lib/collection/components/duet-callout/duet-callout.js +4 -0
  91. package/lib/collection/components/duet-caption/duet-caption.js +5 -0
  92. package/lib/collection/components/duet-card/duet-card.js +4 -0
  93. package/lib/collection/components/duet-checkbox/duet-checkbox.js +4 -0
  94. package/lib/collection/components/duet-chip/duet-chip.js +35 -14
  95. package/lib/collection/components/duet-choice/duet-choice.js +4 -0
  96. package/lib/collection/components/duet-choice-group/duet-choice-group.js +4 -0
  97. package/lib/collection/components/duet-collapsible/duet-collapsible.js +4 -0
  98. package/lib/collection/components/duet-contact-card/duet-contact-card.js +4 -0
  99. package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.js +4 -0
  100. package/lib/collection/components/duet-date-picker/duet-date-picker.js +4 -0
  101. package/lib/collection/components/duet-editable-table/duet-editable-table.js +4 -0
  102. package/lib/collection/components/duet-empty-state/duet-empty-state.js +5 -0
  103. package/lib/collection/components/duet-fieldset/duet-fieldset.js +4 -0
  104. package/lib/collection/components/duet-footer/duet-footer.js +4 -0
  105. package/lib/collection/components/duet-header/duet-header.js +4 -0
  106. package/lib/collection/components/duet-heading/duet-heading.js +4 -0
  107. package/lib/collection/components/duet-hero/duet-hero.css +30 -0
  108. package/lib/collection/components/duet-hero/duet-hero.js +4 -0
  109. package/lib/collection/components/duet-icon/duet-icon.js +4 -0
  110. package/lib/collection/components/duet-input/duet-input.js +2 -0
  111. package/lib/collection/components/duet-label/duet-label.js +5 -0
  112. package/lib/collection/components/duet-link/duet-link.js +5 -0
  113. package/lib/collection/components/duet-menu-bar/duet-menu-bar.js +2 -0
  114. package/lib/collection/components/duet-menu-bar-button/duet-menu-bar-button.js +4 -0
  115. package/lib/collection/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.js +4 -0
  116. package/lib/collection/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.js +4 -0
  117. package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.js +4 -0
  118. package/lib/collection/components/duet-modal/duet-modal.js +2 -0
  119. package/lib/collection/components/duet-multiselect/duet-multiselect.js +4 -0
  120. package/lib/collection/components/duet-notification/duet-notification.js +4 -0
  121. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.js +4 -0
  122. package/lib/collection/components/duet-number-input/duet-number-input.js +4 -0
  123. package/lib/collection/components/duet-page-heading/duet-page-heading.js +4 -0
  124. package/lib/collection/components/duet-pagination/duet-pagination.js +2 -0
  125. package/lib/collection/components/duet-paragraph/duet-paragraph.js +4 -0
  126. package/lib/collection/components/duet-popup-menu-item/duet-popup-menu-item.js +4 -0
  127. package/lib/collection/components/duet-progress/duet-progress.js +4 -0
  128. package/lib/collection/components/duet-promo-card/duet-promo-card.js +4 -0
  129. package/lib/collection/components/duet-radio-group/duet-radio-group.js +4 -0
  130. package/lib/collection/components/duet-range-slider/duet-range-slider.js +4 -0
  131. package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +2 -0
  132. package/lib/collection/components/duet-scrollable/duet-scrollable.js +10 -8
  133. package/lib/collection/components/duet-select/duet-select.js +4 -0
  134. package/lib/collection/components/duet-show-more/duet-show-more.js +4 -0
  135. package/lib/collection/components/duet-slideout/duet-slideout.js +2 -0
  136. package/lib/collection/components/duet-slideout-lang/duet-slideout-lang.js +4 -0
  137. package/lib/collection/components/duet-slideout-link/duet-slideout-link.js +4 -0
  138. package/lib/collection/components/duet-slideout-panel/duet-slideout-panel.js +4 -0
  139. package/lib/collection/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.js +4 -0
  140. package/lib/collection/components/duet-step/duet-step.js +4 -0
  141. package/lib/collection/components/duet-stepper/duet-stepper.js +4 -0
  142. package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.js +4 -0
  143. package/lib/collection/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.js +4 -0
  144. package/lib/collection/components/duet-submenu-bar-dropdown-link/duet-submenu-bar-dropdown-link.js +4 -0
  145. package/lib/collection/components/duet-submenu-bar-link/duet-submenu-bar-link.js +4 -0
  146. package/lib/collection/components/duet-tab/duet-tab.js +5 -0
  147. package/lib/collection/components/duet-tab-group/duet-tab-group.js +2 -0
  148. package/lib/collection/components/duet-textarea/duet-textarea.js +4 -0
  149. package/lib/collection/components/duet-toggle/duet-toggle.js +4 -0
  150. package/lib/collection/components/duet-toolbar-dropdown/duet-toolbar-dropdown.js +4 -0
  151. package/lib/collection/components/duet-toolbar-dropdown-link/duet-toolbar-dropdown-link.js +4 -0
  152. package/lib/collection/components/duet-toolbar-link/duet-toolbar-link.js +4 -0
  153. package/lib/collection/components/duet-tooltip/duet-tooltip-button.js +4 -0
  154. package/lib/collection/components/duet-tooltip/duet-tooltip-popup.js +20 -0
  155. package/lib/collection/components/duet-tooltip/duet-tooltip.js +3 -5
  156. package/lib/collection/components/duet-tray/duet-tray.js +4 -0
  157. package/lib/collection/components/duet-upload/duet-upload.js +4 -0
  158. package/lib/collection/components/duet-upload-aria-status/duet-upload-aria-status.js +8 -0
  159. package/lib/collection/components/duet-upload-item/duet-upload-item.js +5 -0
  160. package/lib/collection/components/duet-visually-hidden/duet-visually-hidden.js +5 -0
  161. package/lib/collection/utils/nudge.js +14 -0
  162. package/lib/collection/utils/teleport.js +9 -12
  163. package/lib/dist-custom-elements/duet-action-button.js +1 -1
  164. package/lib/dist-custom-elements/duet-alert.js +1 -1
  165. package/lib/dist-custom-elements/duet-badge.js +1 -1
  166. package/lib/dist-custom-elements/duet-banner.js +8 -4
  167. package/lib/dist-custom-elements/duet-breadcrumb.js +6 -2
  168. package/lib/dist-custom-elements/duet-breadcrumbs.js +1 -1
  169. package/lib/dist-custom-elements/duet-button.js +1 -1
  170. package/lib/dist-custom-elements/duet-callout.js +7 -3
  171. package/lib/dist-custom-elements/duet-caption.js +1 -1
  172. package/lib/dist-custom-elements/duet-card.js +7 -3
  173. package/lib/dist-custom-elements/duet-checkbox.js +1 -1
  174. package/lib/dist-custom-elements/duet-checkmark.js +1 -1
  175. package/lib/dist-custom-elements/duet-chip.js +21 -16
  176. package/lib/dist-custom-elements/duet-choice-group.js +12 -8
  177. package/lib/dist-custom-elements/duet-choice.js +9 -5
  178. package/lib/dist-custom-elements/duet-collapsible.js +6 -2
  179. package/lib/dist-custom-elements/duet-combobox.js +2 -2
  180. package/lib/dist-custom-elements/duet-contact-card.js +12 -8
  181. package/lib/dist-custom-elements/duet-cookie-consent.js +10 -6
  182. package/lib/dist-custom-elements/duet-date-picker.js +16 -12
  183. package/lib/dist-custom-elements/duet-divider.js +1 -1
  184. package/lib/dist-custom-elements/duet-editable-table.js +11 -7
  185. package/lib/dist-custom-elements/duet-empty-state.js +1 -1
  186. package/lib/dist-custom-elements/duet-fieldset.js +1 -1
  187. package/lib/dist-custom-elements/duet-footer.js +8 -4
  188. package/lib/dist-custom-elements/duet-grid-item.js +1 -1
  189. package/lib/dist-custom-elements/duet-grid.js +1 -1
  190. package/lib/dist-custom-elements/duet-header.js +12 -8
  191. package/lib/dist-custom-elements/duet-heading.js +1 -1
  192. package/lib/dist-custom-elements/duet-hero.js +14 -10
  193. package/lib/dist-custom-elements/duet-icon.js +1 -1
  194. package/lib/dist-custom-elements/duet-input.js +1 -1
  195. package/lib/dist-custom-elements/duet-label.js +1 -1
  196. package/lib/dist-custom-elements/duet-layout.js +1 -1
  197. package/lib/dist-custom-elements/duet-link.js +1 -1
  198. package/lib/dist-custom-elements/duet-list-item.js +1 -1
  199. package/lib/dist-custom-elements/duet-list.js +1 -1
  200. package/lib/dist-custom-elements/duet-logo.js +1 -1
  201. package/lib/dist-custom-elements/duet-menu-bar-button.js +6 -2
  202. package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.js +6 -2
  203. package/lib/dist-custom-elements/duet-menu-bar-dropdown.js +6 -2
  204. package/lib/dist-custom-elements/duet-menu-bar-link.js +6 -2
  205. package/lib/dist-custom-elements/duet-menu-bar.js +4 -2
  206. package/lib/dist-custom-elements/duet-modal.js +10 -8
  207. package/lib/dist-custom-elements/duet-multiselect.js +14 -10
  208. package/lib/dist-custom-elements/duet-nav.js +1 -1
  209. package/lib/dist-custom-elements/duet-notification-drawer.js +8 -4
  210. package/lib/dist-custom-elements/duet-notification.js +6 -2
  211. package/lib/dist-custom-elements/duet-number-input.js +15 -11
  212. package/lib/dist-custom-elements/duet-page-heading.js +6 -2
  213. package/lib/dist-custom-elements/duet-pagination.js +15 -13
  214. package/lib/dist-custom-elements/duet-paragraph.js +1 -1
  215. package/lib/dist-custom-elements/duet-popup-menu-item.js +6 -2
  216. package/lib/dist-custom-elements/duet-popup-menu.js +2 -2
  217. package/lib/dist-custom-elements/duet-progress.js +1 -1
  218. package/lib/dist-custom-elements/duet-promo-card.js +7 -3
  219. package/lib/dist-custom-elements/duet-radio-group.js +12 -8
  220. package/lib/dist-custom-elements/duet-radio.js +1 -1
  221. package/lib/dist-custom-elements/duet-range-slider.js +6 -2
  222. package/lib/dist-custom-elements/duet-range-stepper.js +6 -4
  223. package/lib/dist-custom-elements/duet-scrollable.js +1 -1
  224. package/lib/dist-custom-elements/duet-section-layout.js +1 -1
  225. package/lib/dist-custom-elements/duet-select.js +1 -1
  226. package/lib/dist-custom-elements/duet-shaped-image.js +1 -1
  227. package/lib/dist-custom-elements/duet-show-more.js +9 -5
  228. package/lib/dist-custom-elements/duet-slideout-lang.js +6 -2
  229. package/lib/dist-custom-elements/duet-slideout-link.js +6 -2
  230. package/lib/dist-custom-elements/duet-slideout-panel-dropdown.js +6 -2
  231. package/lib/dist-custom-elements/duet-slideout-panel.js +6 -2
  232. package/lib/dist-custom-elements/duet-slideout.js +4 -2
  233. package/lib/dist-custom-elements/duet-spacer.js +1 -1
  234. package/lib/dist-custom-elements/duet-spinner.js +1 -1
  235. package/lib/dist-custom-elements/duet-step.js +8 -4
  236. package/lib/dist-custom-elements/duet-stepper.js +6 -2
  237. package/lib/dist-custom-elements/duet-submenu-bar-dropdown-link.js +6 -2
  238. package/lib/dist-custom-elements/duet-submenu-bar-dropdown.js +6 -2
  239. package/lib/dist-custom-elements/duet-submenu-bar-link.js +6 -2
  240. package/lib/dist-custom-elements/duet-submenu-bar.js +6 -2
  241. package/lib/dist-custom-elements/duet-tab-group.js +15 -13
  242. package/lib/dist-custom-elements/duet-tab.js +6 -1
  243. package/lib/dist-custom-elements/duet-table.js +1 -1
  244. package/lib/dist-custom-elements/duet-textarea.js +14 -10
  245. package/lib/dist-custom-elements/duet-toggle.js +6 -2
  246. package/lib/dist-custom-elements/duet-toolbar-dropdown-link.js +6 -2
  247. package/lib/dist-custom-elements/duet-toolbar-dropdown.js +6 -2
  248. package/lib/dist-custom-elements/duet-toolbar-link.js +6 -2
  249. package/lib/dist-custom-elements/duet-toolbar.js +1 -1
  250. package/lib/dist-custom-elements/duet-tooltip-button.js +1 -1
  251. package/lib/dist-custom-elements/duet-tooltip-popup.js +1 -1
  252. package/lib/dist-custom-elements/duet-tooltip.js +1 -1
  253. package/lib/dist-custom-elements/duet-tray.js +7 -3
  254. package/lib/dist-custom-elements/duet-upload-aria-status.js +1 -1
  255. package/lib/dist-custom-elements/duet-upload-item.js +1 -1
  256. package/lib/dist-custom-elements/duet-upload.js +22 -18
  257. package/lib/dist-custom-elements/duet-visually-hidden.js +1 -1
  258. package/lib/dist-custom-elements/index.js +1 -1
  259. package/lib/dist-custom-elements/{p-32b3e436.js → p-12a46182.js} +1 -1
  260. package/lib/dist-custom-elements/{p-8a544a4a.js → p-1a8cb0ad.js} +1 -1
  261. package/lib/dist-custom-elements/{p-580110b9.js → p-1d90b10e.js} +1 -1
  262. package/lib/dist-custom-elements/{p-e8146874.js → p-21dd956e.js} +8 -3
  263. package/lib/dist-custom-elements/p-3ae39071.js +16 -0
  264. package/lib/dist-custom-elements/{p-235639a0.js → p-479fa83d.js} +7 -3
  265. package/lib/dist-custom-elements/{p-147839fe.js → p-4d9d4c43.js} +10 -2
  266. package/lib/dist-custom-elements/{p-ae9d10ef.js → p-53148470.js} +7 -2
  267. package/lib/dist-custom-elements/{p-811e436b.js → p-53fba128.js} +6 -1
  268. package/lib/dist-custom-elements/{p-216ee242.js → p-67b279fa.js} +5 -1
  269. package/lib/dist-custom-elements/{p-9510958d.js → p-6816fd1b.js} +8 -5
  270. package/lib/dist-custom-elements/{p-86766141.js → p-6958bba3.js} +15 -10
  271. package/lib/dist-custom-elements/{p-e4de8f7b.js → p-6a66573f.js} +8 -4
  272. package/lib/dist-custom-elements/{p-7ccf98f1.js → p-72c9e944.js} +6 -1
  273. package/lib/dist-custom-elements/{p-e7815ffd.js → p-77c93063.js} +1 -1
  274. package/lib/dist-custom-elements/{p-7a8c2aed.js → p-7c6ee265.js} +8 -10
  275. package/lib/dist-custom-elements/{p-3b2d38bd.js → p-85087518.js} +6 -2
  276. package/lib/dist-custom-elements/{p-70bf0b69.js → p-87cf7266.js} +13 -11
  277. package/lib/dist-custom-elements/{p-778299c4.js → p-89dec98e.js} +6 -2
  278. package/lib/dist-custom-elements/{p-31d056ee.js → p-954d4096.js} +12 -10
  279. package/lib/dist-custom-elements/{p-457ad3b4.js → p-99ec82e5.js} +5 -1
  280. package/lib/dist-custom-elements/{p-7394e25f.js → p-9c1b089a.js} +9 -12
  281. package/lib/dist-custom-elements/{p-6ff6de66.js → p-a5b5343b.js} +12 -8
  282. package/lib/dist-custom-elements/{p-b4fb8e06.js → p-ad704699.js} +20 -3
  283. package/lib/dist-custom-elements/{p-9ec763ef.js → p-c2533c03.js} +1 -1
  284. package/lib/dist-custom-elements/{p-891cf00a.js → p-cedaa97e.js} +1 -1
  285. package/lib/dist-custom-elements/{p-5128c90e.js → p-d6e49c93.js} +6 -2
  286. package/lib/dist-custom-elements/{p-89f61853.js → p-d8859df9.js} +1 -1
  287. package/lib/dist-custom-elements/{p-54138086.js → p-d8c53f43.js} +1 -1
  288. package/lib/dist-custom-elements/{p-dddcc1da.js → p-dd33aa4e.js} +1 -1
  289. package/lib/dist-custom-elements/{p-87ab6444.js → p-decdd69c.js} +5 -1
  290. package/lib/dist-custom-elements/{p-6658c850.js → p-e611a3df.js} +5 -1
  291. package/lib/dist-custom-elements/{p-fbdc5afe.js → p-e90b70ac.js} +1 -1
  292. package/lib/dist-custom-elements/{p-735d77aa.js → p-f7337164.js} +6 -1
  293. package/lib/dist-custom-elements/{p-e9d838dd.js → p-fc3ae836.js} +1 -1
  294. package/lib/dist-custom-elements/{p-444a8a81.js → p-fcc738df.js} +6 -1
  295. package/lib/duet/duet.esm.js +1 -1
  296. package/lib/duet/duet.js +1 -1
  297. package/lib/duet/p-00743d6c.system.entry.js +4 -0
  298. package/lib/duet/p-00a893c1.js +4 -0
  299. package/lib/duet/p-014edbda.system.entry.js +4 -0
  300. package/lib/duet/p-0414004a.entry.js +4 -0
  301. package/lib/duet/p-0762d0ce.system.entry.js +4 -0
  302. package/lib/duet/p-096d7724.entry.js +4 -0
  303. package/lib/duet/p-0b38374b.system.entry.js +4 -0
  304. package/lib/duet/p-0bb83776.system.entry.js +4 -0
  305. package/lib/duet/p-0c203d28.entry.js +4 -0
  306. package/lib/duet/p-0dfe14d3.entry.js +4 -0
  307. package/lib/duet/p-0ea3453c.system.entry.js +4 -0
  308. package/lib/duet/p-0f2664ed.entry.js +4 -0
  309. package/lib/duet/{p-7fe6bf2c.system.entry.js → p-15a77012.system.entry.js} +1 -1
  310. package/lib/duet/p-1853e4e5.system.entry.js +4 -0
  311. package/lib/duet/p-1c8634b1.entry.js +4 -0
  312. package/lib/duet/{p-0acc8f88.system.entry.js → p-1e3f0d63.system.entry.js} +1 -1
  313. package/lib/duet/p-1e709927.system.entry.js +4 -0
  314. package/lib/duet/p-1e88edec.entry.js +4 -0
  315. package/lib/duet/p-20767b15.system.entry.js +4 -0
  316. package/lib/duet/p-22acfa83.entry.js +4 -0
  317. package/lib/duet/p-24bc0b8c.entry.js +4 -0
  318. package/lib/duet/p-250745c0.system.entry.js +4 -0
  319. package/lib/duet/p-2556c6f0.system.entry.js +4 -0
  320. package/lib/duet/{p-1d463cc4.system.entry.js → p-285b2d7b.system.entry.js} +1 -1
  321. package/lib/duet/p-29a6d3b3.entry.js +4 -0
  322. package/lib/duet/p-2bec5be2.entry.js +4 -0
  323. package/lib/duet/p-2d7d1ff7.entry.js +4 -0
  324. package/lib/duet/p-2e54c1f8.system.entry.js +4 -0
  325. package/lib/duet/p-2e54c214.entry.js +4 -0
  326. package/lib/duet/p-3092d696.system.entry.js +4 -0
  327. package/lib/duet/p-30d1b2b5.entry.js +4 -0
  328. package/lib/duet/p-31d63beb.system.entry.js +4 -0
  329. package/lib/duet/p-3344fca3.entry.js +4 -0
  330. package/lib/duet/{p-a678835a.entry.js → p-34aa54e1.entry.js} +1 -1
  331. package/lib/duet/p-3538b0af.entry.js +4 -0
  332. package/lib/duet/{p-25495204.system.entry.js → p-3768dda7.system.entry.js} +1 -1
  333. package/lib/duet/p-37ee4ceb.system.entry.js +4 -0
  334. package/lib/duet/p-3878572f.entry.js +4 -0
  335. package/lib/duet/p-39c72a24.system.entry.js +4 -0
  336. package/lib/duet/p-3a9779ee.entry.js +4 -0
  337. package/lib/duet/p-3ae39071.js +4 -0
  338. package/lib/duet/p-3b85f649.system.entry.js +4 -0
  339. package/lib/duet/p-3c2f1fd0.entry.js +4 -0
  340. package/lib/duet/p-42c64bb8.system.entry.js +4 -0
  341. package/lib/duet/{p-7dc87593.system.entry.js → p-457ae87b.system.entry.js} +1 -1
  342. package/lib/duet/p-469892f4.system.entry.js +4 -0
  343. package/lib/duet/p-4903f5c4.system.entry.js +4 -0
  344. package/lib/duet/p-4b71c8e9.entry.js +4 -0
  345. package/lib/duet/p-4c04b1c6.entry.js +4 -0
  346. package/lib/duet/p-51328149.entry.js +4 -0
  347. package/lib/duet/p-529dc6fe.entry.js +4 -0
  348. package/lib/duet/p-54c07ffa.system.entry.js +4 -0
  349. package/lib/duet/p-5ab4d5d4.entry.js +4 -0
  350. package/lib/duet/p-5ac682b3.system.entry.js +4 -0
  351. package/lib/duet/p-5f2fc4bd.entry.js +4 -0
  352. package/lib/duet/{p-16abb2d5.system.entry.js → p-5f46f02e.system.entry.js} +1 -1
  353. package/lib/duet/p-5fb428c8.system.entry.js +4 -0
  354. package/lib/duet/p-60b4b7c1.system.js +4 -0
  355. package/lib/duet/p-64710156.entry.js +4 -0
  356. package/lib/duet/p-651d430e.system.entry.js +4 -0
  357. package/lib/duet/p-673a726a.entry.js +4 -0
  358. package/lib/duet/p-6b2c127a.entry.js +4 -0
  359. package/lib/duet/p-6d09651a.entry.js +4 -0
  360. package/lib/duet/p-6d620156.system.entry.js +4 -0
  361. package/lib/duet/p-6d71214f.entry.js +4 -0
  362. package/lib/duet/p-703c3662.system.entry.js +4 -0
  363. package/lib/duet/p-70c7a137.system.entry.js +4 -0
  364. package/lib/duet/p-729f35d8.system.entry.js +4 -0
  365. package/lib/duet/p-73242991.entry.js +4 -0
  366. package/lib/duet/{p-18f1d30e.js → p-733bb740.js} +1 -1
  367. package/lib/duet/p-737167be.system.js +4 -0
  368. package/lib/duet/p-73c9436a.entry.js +4 -0
  369. package/lib/duet/p-79266582.system.entry.js +4 -0
  370. package/lib/duet/p-792cbd42.system.entry.js +4 -0
  371. package/lib/duet/p-7966dc5b.system.entry.js +4 -0
  372. package/lib/duet/p-7a7da6cf.system.entry.js +4 -0
  373. package/lib/duet/p-7be35e53.system.entry.js +4 -0
  374. package/lib/duet/p-7ee29cc1.system.entry.js +4 -0
  375. package/lib/duet/{p-e7cc2826.system.entry.js → p-8156e5a5.system.entry.js} +1 -1
  376. package/lib/duet/{p-a87a2760.system.entry.js → p-8304e300.system.entry.js} +2 -2
  377. package/lib/duet/p-84390ead.entry.js +4 -0
  378. package/lib/duet/{p-b760effb.entry.js → p-84ebe175.entry.js} +1 -1
  379. package/lib/duet/p-85605193.system.entry.js +4 -0
  380. package/lib/duet/p-86b83b73.system.entry.js +4 -0
  381. package/lib/duet/p-88c01d1c.entry.js +4 -0
  382. package/lib/duet/{p-8a3fcbdb.system.entry.js → p-8ac518e1.system.entry.js} +1 -1
  383. package/lib/duet/p-90f97748.entry.js +4 -0
  384. package/lib/duet/p-92c7c0ba.entry.js +4 -0
  385. package/lib/duet/p-9601bad5.entry.js +4 -0
  386. package/lib/duet/p-962a83ef.entry.js +4 -0
  387. package/lib/duet/{p-e91a7222.entry.js → p-97076e02.entry.js} +1 -1
  388. package/lib/duet/p-9b992ce9.entry.js +4 -0
  389. package/lib/duet/p-9bdf6ce2.entry.js +4 -0
  390. package/lib/duet/p-9c1b089a.js +4 -0
  391. package/lib/duet/p-9c5860a3.entry.js +4 -0
  392. package/lib/duet/{p-e4734600.entry.js → p-9d317471.entry.js} +1 -1
  393. package/lib/duet/p-9f65b014.system.entry.js +4 -0
  394. package/lib/duet/p-9f975819.system.entry.js +4 -0
  395. package/lib/duet/{p-a7c2017b.system.js → p-9f97eb07.system.js} +1 -1
  396. package/lib/duet/p-a095c36f.system.entry.js +4 -0
  397. package/lib/duet/p-a276bfbd.entry.js +4 -0
  398. package/lib/duet/{p-213ba11f.entry.js → p-a322b729.entry.js} +1 -1
  399. package/lib/duet/p-a620d583.system.entry.js +4 -0
  400. package/lib/duet/p-a64cf9f8.system.entry.js +4 -0
  401. package/lib/duet/p-a6f6f073.system.entry.js +4 -0
  402. package/lib/duet/p-a7915b7d.entry.js +4 -0
  403. package/lib/duet/p-a922b309.system.entry.js +4 -0
  404. package/lib/duet/p-aa634481.entry.js +4 -0
  405. package/lib/duet/p-ab2d8091.entry.js +4 -0
  406. package/lib/duet/p-acb9ba1b.system.entry.js +4 -0
  407. package/lib/duet/p-acfae908.system.entry.js +4 -0
  408. package/lib/duet/p-ad70248d.entry.js +4 -0
  409. package/lib/duet/p-b3a1ea89.system.entry.js +4 -0
  410. package/lib/duet/p-b41ed3c4.entry.js +4 -0
  411. package/lib/duet/{p-f5903e7d.entry.js → p-b42b2676.entry.js} +1 -1
  412. package/lib/duet/p-b529eb0c.system.entry.js +4 -0
  413. package/lib/duet/p-b52f8ce1.entry.js +4 -0
  414. package/lib/duet/p-b6c212f5.system.entry.js +4 -0
  415. package/lib/duet/{p-0c6705bb.system.entry.js → p-b6cf05c0.system.entry.js} +1 -1
  416. package/lib/duet/p-b6e50064.entry.js +4 -0
  417. package/lib/duet/p-baef301c.system.entry.js +4 -0
  418. package/lib/duet/{p-e4e0578f.entry.js → p-bb5d22df.entry.js} +1 -1
  419. package/lib/duet/p-bc7c47f4.system.entry.js +4 -0
  420. package/lib/duet/p-bdb50607.system.entry.js +4 -0
  421. package/lib/duet/{p-4ab24dcd.entry.js → p-c135039c.entry.js} +1 -1
  422. package/lib/duet/p-c52e0917.entry.js +4 -0
  423. package/lib/duet/p-c655b7d1.system.entry.js +4 -0
  424. package/lib/duet/p-c8536d3f.entry.js +4 -0
  425. package/lib/duet/p-c8836a67.system.entry.js +4 -0
  426. package/lib/duet/p-ca112a3f.system.entry.js +4 -0
  427. package/lib/duet/p-cc48a8a0.system.entry.js +4 -0
  428. package/lib/duet/p-cfe09501.system.entry.js +4 -0
  429. package/lib/duet/p-d79fa6a4.system.entry.js +4 -0
  430. package/lib/duet/{p-429a181d.system.entry.js → p-d86480ea.system.entry.js} +1 -1
  431. package/lib/duet/{p-c201968f.entry.js → p-da7cc3d1.entry.js} +1 -1
  432. package/lib/duet/p-db2865b5.entry.js +4 -0
  433. package/lib/duet/p-dde971f6.system.entry.js +4 -0
  434. package/lib/duet/{p-6d711206.entry.js → p-e2daed97.entry.js} +1 -1
  435. package/lib/duet/p-e30d6bee.system.entry.js +4 -0
  436. package/lib/duet/p-e4fd145a.entry.js +4 -0
  437. package/lib/duet/p-e52631b1.entry.js +4 -0
  438. package/lib/duet/p-e58f4a37.entry.js +4 -0
  439. package/lib/duet/p-e62f72a3.entry.js +4 -0
  440. package/lib/duet/p-e96bed1e.system.entry.js +4 -0
  441. package/lib/duet/p-ea4f5d13.system.entry.js +4 -0
  442. package/lib/duet/p-ebf4a629.entry.js +4 -0
  443. package/lib/duet/p-edbc2774.entry.js +4 -0
  444. package/lib/duet/p-ee0ca0fd.entry.js +4 -0
  445. package/lib/duet/p-f30d3b09.system.entry.js +4 -0
  446. package/lib/duet/p-f5c2ccce.entry.js +4 -0
  447. package/lib/duet/p-f5e12c14.system.entry.js +4 -0
  448. package/lib/duet/p-f702fd53.entry.js +4 -0
  449. package/lib/duet/p-f7793f52.entry.js +4 -0
  450. package/lib/duet/{p-8db716f2.system.entry.js → p-f9f1c707.system.entry.js} +1 -1
  451. package/lib/duet/p-fa5bcc42.system.js +4 -0
  452. package/lib/duet/{p-7804ff1e.entry.js → p-fb238069.entry.js} +1 -1
  453. package/lib/duet/{p-7174ea1e.entry.js → p-fb7d7222.entry.js} +1 -1
  454. package/lib/duet/{p-3cb9e865.system.js → p-fc1fee5c.system.js} +1 -1
  455. package/lib/duet/p-fc26d56a.entry.js +4 -0
  456. package/lib/duet/p-fc6d2bf4.entry.js +4 -0
  457. package/lib/duet/p-ff9ef21e.system.entry.js +4 -0
  458. package/lib/esm/duet-action-button.entry.js +5 -1
  459. package/lib/esm/duet-alert.entry.js +4 -1
  460. package/lib/esm/duet-badge.entry.js +6 -1
  461. package/lib/esm/duet-banner.entry.js +5 -1
  462. package/lib/esm/duet-breadcrumb.entry.js +5 -1
  463. package/lib/esm/duet-breadcrumbs.entry.js +1 -1
  464. package/lib/esm/duet-button_2.entry.js +5 -1
  465. package/lib/esm/duet-callout.entry.js +5 -1
  466. package/lib/esm/duet-caption_4.entry.js +16 -1
  467. package/lib/esm/duet-card.entry.js +5 -1
  468. package/lib/esm/duet-checkbox.entry.js +5 -1
  469. package/lib/esm/duet-checkmark.entry.js +1 -1
  470. package/lib/esm/duet-chip.entry.js +18 -14
  471. package/lib/esm/duet-choice_2.entry.js +9 -2
  472. package/lib/esm/duet-collapsible.entry.js +5 -1
  473. package/lib/esm/duet-combobox.entry.js +1 -1
  474. package/lib/esm/duet-contact-card.entry.js +5 -1
  475. package/lib/esm/duet-cookie-consent.entry.js +5 -1
  476. package/lib/esm/duet-date-picker.entry.js +6 -2
  477. package/lib/esm/duet-divider_2.entry.js +1 -1
  478. package/lib/esm/duet-editable-table_3.entry.js +8 -1
  479. package/lib/esm/duet-empty-state.entry.js +6 -1
  480. package/lib/esm/duet-fieldset.entry.js +5 -1
  481. package/lib/esm/duet-footer.entry.js +5 -1
  482. package/lib/esm/duet-grid_2.entry.js +1 -1
  483. package/lib/esm/duet-header_2.entry.js +5 -1
  484. package/lib/esm/duet-hero.entry.js +6 -2
  485. package/lib/esm/duet-icon.entry.js +5 -1
  486. package/lib/esm/duet-input_2.entry.js +7 -1
  487. package/lib/esm/duet-layout.entry.js +1 -1
  488. package/lib/esm/duet-list_2.entry.js +1 -1
  489. package/lib/esm/duet-menu-bar-button.entry.js +5 -1
  490. package/lib/esm/duet-menu-bar-dropdown-link.entry.js +5 -1
  491. package/lib/esm/duet-menu-bar-dropdown.entry.js +5 -1
  492. package/lib/esm/duet-menu-bar-link.entry.js +5 -1
  493. package/lib/esm/duet-menu-bar.entry.js +3 -1
  494. package/lib/esm/duet-modal.entry.js +5 -3
  495. package/lib/esm/duet-multiselect.entry.js +5 -1
  496. package/lib/esm/duet-nav.entry.js +1 -1
  497. package/lib/esm/duet-notification_2.entry.js +8 -1
  498. package/lib/esm/duet-number-input.entry.js +5 -1
  499. package/lib/esm/duet-page-heading.entry.js +5 -1
  500. package/lib/esm/duet-pagination_2.entry.js +4 -1
  501. package/lib/esm/duet-popup-menu-item.entry.js +5 -1
  502. package/lib/esm/duet-popup-menu.entry.js +2 -2
  503. package/lib/esm/duet-progress.entry.js +5 -1
  504. package/lib/esm/duet-promo-card.entry.js +5 -1
  505. package/lib/esm/duet-radio_2.entry.js +5 -1
  506. package/lib/esm/duet-range-slider.entry.js +5 -1
  507. package/lib/esm/duet-scrollable_3.entry.js +14 -7
  508. package/lib/esm/duet-section-layout.entry.js +1 -1
  509. package/lib/esm/duet-select.entry.js +5 -1
  510. package/lib/esm/duet-shaped-image.entry.js +1 -1
  511. package/lib/esm/duet-show-more.entry.js +5 -1
  512. package/lib/esm/duet-slideout-lang.entry.js +5 -1
  513. package/lib/esm/duet-slideout-link.entry.js +5 -1
  514. package/lib/esm/duet-slideout-panel-dropdown.entry.js +5 -1
  515. package/lib/esm/duet-slideout-panel.entry.js +6 -2
  516. package/lib/esm/duet-slideout.entry.js +4 -2
  517. package/lib/esm/duet-step_2.entry.js +8 -1
  518. package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +5 -1
  519. package/lib/esm/duet-submenu-bar-dropdown.entry.js +5 -1
  520. package/lib/esm/duet-submenu-bar-link.entry.js +5 -1
  521. package/lib/esm/duet-submenu-bar.entry.js +5 -1
  522. package/lib/esm/duet-textarea.entry.js +5 -1
  523. package/lib/esm/duet-toggle.entry.js +5 -1
  524. package/lib/esm/duet-toolbar-dropdown-link.entry.js +5 -1
  525. package/lib/esm/duet-toolbar-dropdown.entry.js +5 -1
  526. package/lib/esm/duet-toolbar-link.entry.js +5 -1
  527. package/lib/esm/duet-toolbar.entry.js +1 -1
  528. package/lib/esm/duet-tooltip-button_2.entry.js +22 -2
  529. package/lib/esm/duet-tooltip.entry.js +4 -6
  530. package/lib/esm/duet-tray.entry.js +5 -1
  531. package/lib/esm/duet-upload-aria-status.entry.js +9 -1
  532. package/lib/esm/duet-upload-item.entry.js +6 -1
  533. package/lib/esm/duet-visually-hidden.entry.js +6 -1
  534. package/lib/esm/duet.js +3 -3
  535. package/lib/esm/{focus-utils-e26ba3b3.js → focus-utils-8fc4feb5.js} +1 -1
  536. package/lib/esm/{index-c1a17a4c.js → index-b1b085ac.js} +1 -1
  537. package/lib/esm/loader.js +3 -3
  538. package/lib/esm/nudge-a828c525.js +16 -0
  539. package/lib/esm/{teleport-6b18ccae.js → teleport-467626fe.js} +9 -12
  540. package/lib/esm-es5/duet-action-button.entry.js +1 -1
  541. package/lib/esm-es5/duet-alert.entry.js +1 -1
  542. package/lib/esm-es5/duet-badge.entry.js +1 -1
  543. package/lib/esm-es5/duet-banner.entry.js +1 -1
  544. package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
  545. package/lib/esm-es5/duet-breadcrumbs.entry.js +1 -1
  546. package/lib/esm-es5/duet-button_2.entry.js +1 -1
  547. package/lib/esm-es5/duet-callout.entry.js +1 -1
  548. package/lib/esm-es5/duet-caption_4.entry.js +1 -1
  549. package/lib/esm-es5/duet-card.entry.js +1 -1
  550. package/lib/esm-es5/duet-checkbox.entry.js +1 -1
  551. package/lib/esm-es5/duet-checkmark.entry.js +1 -1
  552. package/lib/esm-es5/duet-chip.entry.js +1 -1
  553. package/lib/esm-es5/duet-choice_2.entry.js +2 -2
  554. package/lib/esm-es5/duet-collapsible.entry.js +1 -1
  555. package/lib/esm-es5/duet-combobox.entry.js +1 -1
  556. package/lib/esm-es5/duet-contact-card.entry.js +1 -1
  557. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  558. package/lib/esm-es5/duet-date-picker.entry.js +1 -1
  559. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  560. package/lib/esm-es5/duet-editable-table_3.entry.js +1 -1
  561. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  562. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  563. package/lib/esm-es5/duet-footer.entry.js +2 -2
  564. package/lib/esm-es5/duet-grid_2.entry.js +1 -1
  565. package/lib/esm-es5/duet-header_2.entry.js +1 -1
  566. package/lib/esm-es5/duet-hero.entry.js +1 -1
  567. package/lib/esm-es5/duet-icon.entry.js +1 -1
  568. package/lib/esm-es5/duet-input_2.entry.js +1 -1
  569. package/lib/esm-es5/duet-layout.entry.js +1 -1
  570. package/lib/esm-es5/duet-list_2.entry.js +1 -1
  571. package/lib/esm-es5/duet-menu-bar-button.entry.js +1 -1
  572. package/lib/esm-es5/duet-menu-bar-dropdown-link.entry.js +1 -1
  573. package/lib/esm-es5/duet-menu-bar-dropdown.entry.js +1 -1
  574. package/lib/esm-es5/duet-menu-bar-link.entry.js +1 -1
  575. package/lib/esm-es5/duet-menu-bar.entry.js +1 -1
  576. package/lib/esm-es5/duet-modal.entry.js +1 -1
  577. package/lib/esm-es5/duet-multiselect.entry.js +1 -1
  578. package/lib/esm-es5/duet-nav.entry.js +1 -1
  579. package/lib/esm-es5/duet-notification_2.entry.js +2 -2
  580. package/lib/esm-es5/duet-number-input.entry.js +1 -1
  581. package/lib/esm-es5/duet-page-heading.entry.js +1 -1
  582. package/lib/esm-es5/duet-pagination_2.entry.js +1 -1
  583. package/lib/esm-es5/duet-popup-menu-item.entry.js +1 -1
  584. package/lib/esm-es5/duet-popup-menu.entry.js +1 -1
  585. package/lib/esm-es5/duet-progress.entry.js +1 -1
  586. package/lib/esm-es5/duet-promo-card.entry.js +1 -1
  587. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  588. package/lib/esm-es5/duet-range-slider.entry.js +1 -1
  589. package/lib/esm-es5/duet-scrollable_3.entry.js +2 -2
  590. package/lib/esm-es5/duet-section-layout.entry.js +1 -1
  591. package/lib/esm-es5/duet-select.entry.js +1 -1
  592. package/lib/esm-es5/duet-shaped-image.entry.js +1 -1
  593. package/lib/esm-es5/duet-show-more.entry.js +1 -1
  594. package/lib/esm-es5/duet-slideout-lang.entry.js +1 -1
  595. package/lib/esm-es5/duet-slideout-link.entry.js +1 -1
  596. package/lib/esm-es5/duet-slideout-panel-dropdown.entry.js +1 -1
  597. package/lib/esm-es5/duet-slideout-panel.entry.js +1 -1
  598. package/lib/esm-es5/duet-slideout.entry.js +1 -1
  599. package/lib/esm-es5/duet-step_2.entry.js +1 -1
  600. package/lib/esm-es5/duet-submenu-bar-dropdown-link.entry.js +1 -1
  601. package/lib/esm-es5/duet-submenu-bar-dropdown.entry.js +1 -1
  602. package/lib/esm-es5/duet-submenu-bar-link.entry.js +1 -1
  603. package/lib/esm-es5/duet-submenu-bar.entry.js +1 -1
  604. package/lib/esm-es5/duet-textarea.entry.js +1 -1
  605. package/lib/esm-es5/duet-toggle.entry.js +2 -2
  606. package/lib/esm-es5/duet-toolbar-dropdown-link.entry.js +1 -1
  607. package/lib/esm-es5/duet-toolbar-dropdown.entry.js +1 -1
  608. package/lib/esm-es5/duet-toolbar-link.entry.js +1 -1
  609. package/lib/esm-es5/duet-toolbar.entry.js +1 -1
  610. package/lib/esm-es5/duet-tooltip-button_2.entry.js +1 -1
  611. package/lib/esm-es5/duet-tooltip.entry.js +2 -2
  612. package/lib/esm-es5/duet-tray.entry.js +1 -1
  613. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  614. package/lib/esm-es5/duet-upload-item.entry.js +1 -1
  615. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  616. package/lib/esm-es5/duet.js +1 -1
  617. package/lib/esm-es5/{focus-utils-e26ba3b3.js → focus-utils-8fc4feb5.js} +1 -1
  618. package/lib/esm-es5/{index-c1a17a4c.js → index-b1b085ac.js} +1 -1
  619. package/lib/esm-es5/loader.js +1 -1
  620. package/lib/esm-es5/nudge-a828c525.js +4 -0
  621. package/lib/esm-es5/teleport-467626fe.js +4 -0
  622. package/lib/types/components/duet-action-button/duet-action-button.d.ts +1 -0
  623. package/lib/types/components/duet-alert/duet-alert.d.ts +1 -0
  624. package/lib/types/components/duet-badge/duet-badge.d.ts +2 -0
  625. package/lib/types/components/duet-banner/duet-banner.d.ts +1 -0
  626. package/lib/types/components/duet-breadcrumbs/duet-breadcrumb.d.ts +1 -0
  627. package/lib/types/components/duet-button/duet-button.d.ts +1 -0
  628. package/lib/types/components/duet-callout/duet-callout.d.ts +1 -0
  629. package/lib/types/components/duet-caption/duet-caption.d.ts +2 -0
  630. package/lib/types/components/duet-card/duet-card.d.ts +1 -0
  631. package/lib/types/components/duet-checkbox/duet-checkbox.d.ts +1 -0
  632. package/lib/types/components/duet-chip/duet-chip.d.ts +6 -1
  633. package/lib/types/components/duet-choice/duet-choice.d.ts +1 -0
  634. package/lib/types/components/duet-choice-group/duet-choice-group.d.ts +1 -0
  635. package/lib/types/components/duet-collapsible/duet-collapsible.d.ts +1 -0
  636. package/lib/types/components/duet-contact-card/duet-contact-card.d.ts +1 -0
  637. package/lib/types/components/duet-cookie-consent/duet-cookie-consent.d.ts +1 -0
  638. package/lib/types/components/duet-date-picker/duet-date-picker.d.ts +1 -0
  639. package/lib/types/components/duet-editable-table/duet-editable-table.d.ts +1 -0
  640. package/lib/types/components/duet-empty-state/duet-empty-state.d.ts +2 -0
  641. package/lib/types/components/duet-fieldset/duet-fieldset.d.ts +1 -0
  642. package/lib/types/components/duet-footer/duet-footer.d.ts +1 -0
  643. package/lib/types/components/duet-header/duet-header.d.ts +1 -0
  644. package/lib/types/components/duet-heading/duet-heading.d.ts +1 -0
  645. package/lib/types/components/duet-hero/duet-hero.d.ts +1 -0
  646. package/lib/types/components/duet-icon/duet-icon.d.ts +1 -0
  647. package/lib/types/components/duet-label/duet-label.d.ts +2 -0
  648. package/lib/types/components/duet-link/duet-link.d.ts +2 -0
  649. package/lib/types/components/duet-menu-bar-button/duet-menu-bar-button.d.ts +1 -0
  650. package/lib/types/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.d.ts +1 -0
  651. package/lib/types/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.d.ts +1 -0
  652. package/lib/types/components/duet-menu-bar-link/duet-menu-bar-link.d.ts +1 -0
  653. package/lib/types/components/duet-modal/duet-modal.d.ts +1 -1
  654. package/lib/types/components/duet-multiselect/duet-multiselect.d.ts +1 -0
  655. package/lib/types/components/duet-notification/duet-notification.d.ts +1 -0
  656. package/lib/types/components/duet-notification-drawer/duet-notification-drawer.d.ts +1 -0
  657. package/lib/types/components/duet-number-input/duet-number-input.d.ts +1 -0
  658. package/lib/types/components/duet-page-heading/duet-page-heading.d.ts +1 -0
  659. package/lib/types/components/duet-paragraph/duet-paragraph.d.ts +1 -0
  660. package/lib/types/components/duet-popup-menu-item/duet-popup-menu-item.d.ts +1 -0
  661. package/lib/types/components/duet-progress/duet-progress.d.ts +1 -0
  662. package/lib/types/components/duet-promo-card/duet-promo-card.d.ts +1 -0
  663. package/lib/types/components/duet-radio-group/duet-radio-group.d.ts +1 -0
  664. package/lib/types/components/duet-range-slider/duet-range-slider.d.ts +1 -0
  665. package/lib/types/components/duet-scrollable/duet-scrollable.d.ts +1 -1
  666. package/lib/types/components/duet-select/duet-select.d.ts +1 -0
  667. package/lib/types/components/duet-show-more/duet-show-more.d.ts +1 -0
  668. package/lib/types/components/duet-slideout-lang/duet-slideout-lang.d.ts +1 -0
  669. package/lib/types/components/duet-slideout-link/duet-slideout-link.d.ts +1 -0
  670. package/lib/types/components/duet-slideout-panel/duet-slideout-panel.d.ts +1 -0
  671. package/lib/types/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.d.ts +1 -0
  672. package/lib/types/components/duet-step/duet-step.d.ts +1 -0
  673. package/lib/types/components/duet-stepper/duet-stepper.d.ts +1 -0
  674. package/lib/types/components/duet-submenu-bar/duet-submenu-bar.d.ts +1 -0
  675. package/lib/types/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.d.ts +1 -0
  676. package/lib/types/components/duet-submenu-bar-dropdown-link/duet-submenu-bar-dropdown-link.d.ts +1 -0
  677. package/lib/types/components/duet-submenu-bar-link/duet-submenu-bar-link.d.ts +1 -0
  678. package/lib/types/components/duet-tab/duet-tab.d.ts +2 -0
  679. package/lib/types/components/duet-textarea/duet-textarea.d.ts +1 -0
  680. package/lib/types/components/duet-toggle/duet-toggle.d.ts +1 -0
  681. package/lib/types/components/duet-toolbar-dropdown/duet-toolbar-dropdown.d.ts +1 -0
  682. package/lib/types/components/duet-toolbar-dropdown-link/duet-toolbar-dropdown-link.d.ts +1 -0
  683. package/lib/types/components/duet-toolbar-link/duet-toolbar-link.d.ts +1 -0
  684. package/lib/types/components/duet-tooltip/duet-tooltip-button.d.ts +1 -0
  685. package/lib/types/components/duet-tooltip/duet-tooltip-popup.d.ts +3 -0
  686. package/lib/types/components/duet-tooltip/duet-tooltip.d.ts +0 -1
  687. package/lib/types/components/duet-tray/duet-tray.d.ts +1 -0
  688. package/lib/types/components/duet-upload/duet-upload.d.ts +1 -0
  689. package/lib/types/components/duet-upload-aria-status/duet-upload-aria-status.d.ts +5 -0
  690. package/lib/types/components/duet-upload-item/duet-upload-item.d.ts +2 -0
  691. package/lib/types/components/duet-visually-hidden/duet-visually-hidden.d.ts +2 -0
  692. package/lib/types/components.d.ts +8 -0
  693. package/lib/types/utils/nudge.d.ts +7 -0
  694. package/lib/types/utils/teleport.d.ts +0 -2
  695. package/package.json +5 -5
  696. package/lib/duet/p-00abf5b6.entry.js +0 -4
  697. package/lib/duet/p-02b7e1ef.system.entry.js +0 -4
  698. package/lib/duet/p-02f1d7cc.system.js +0 -4
  699. package/lib/duet/p-0478d0eb.entry.js +0 -4
  700. package/lib/duet/p-04940a8a.system.entry.js +0 -4
  701. package/lib/duet/p-059c9d4e.entry.js +0 -4
  702. package/lib/duet/p-066f7fdf.entry.js +0 -4
  703. package/lib/duet/p-076228e9.system.entry.js +0 -4
  704. package/lib/duet/p-076aef18.entry.js +0 -4
  705. package/lib/duet/p-0b0a898d.entry.js +0 -4
  706. package/lib/duet/p-0c3d7e64.system.entry.js +0 -4
  707. package/lib/duet/p-0e697654.system.entry.js +0 -4
  708. package/lib/duet/p-0ffc3cf9.entry.js +0 -4
  709. package/lib/duet/p-108d9370.system.entry.js +0 -4
  710. package/lib/duet/p-11e79c8c.system.entry.js +0 -4
  711. package/lib/duet/p-14285f86.system.entry.js +0 -4
  712. package/lib/duet/p-14bd6514.entry.js +0 -4
  713. package/lib/duet/p-1719aa4e.entry.js +0 -4
  714. package/lib/duet/p-1b398a07.entry.js +0 -4
  715. package/lib/duet/p-1c0ad101.system.entry.js +0 -4
  716. package/lib/duet/p-23ba9eba.entry.js +0 -4
  717. package/lib/duet/p-243a9ef5.system.entry.js +0 -4
  718. package/lib/duet/p-24e2be74.entry.js +0 -4
  719. package/lib/duet/p-29280d68.entry.js +0 -4
  720. package/lib/duet/p-2992af15.entry.js +0 -4
  721. package/lib/duet/p-29be2109.entry.js +0 -4
  722. package/lib/duet/p-29f1e1a4.system.entry.js +0 -4
  723. package/lib/duet/p-2bf922c1.system.js +0 -4
  724. package/lib/duet/p-2e9a772c.entry.js +0 -4
  725. package/lib/duet/p-2ea04945.entry.js +0 -4
  726. package/lib/duet/p-2eabea79.entry.js +0 -4
  727. package/lib/duet/p-31b566c1.entry.js +0 -4
  728. package/lib/duet/p-3346552d.entry.js +0 -4
  729. package/lib/duet/p-34928212.entry.js +0 -4
  730. package/lib/duet/p-3536fd40.system.entry.js +0 -4
  731. package/lib/duet/p-356745e0.system.entry.js +0 -4
  732. package/lib/duet/p-3709d186.entry.js +0 -4
  733. package/lib/duet/p-380c94f6.system.entry.js +0 -4
  734. package/lib/duet/p-388e6ec4.entry.js +0 -4
  735. package/lib/duet/p-3ec86ced.entry.js +0 -4
  736. package/lib/duet/p-417357f9.system.entry.js +0 -4
  737. package/lib/duet/p-427dbb96.system.entry.js +0 -4
  738. package/lib/duet/p-43b0c3d2.system.entry.js +0 -4
  739. package/lib/duet/p-43b42819.entry.js +0 -4
  740. package/lib/duet/p-45bec102.entry.js +0 -4
  741. package/lib/duet/p-46b3ed07.entry.js +0 -4
  742. package/lib/duet/p-4a4faa7d.entry.js +0 -4
  743. package/lib/duet/p-4e886433.system.entry.js +0 -4
  744. package/lib/duet/p-521c96ec.entry.js +0 -4
  745. package/lib/duet/p-56952081.entry.js +0 -4
  746. package/lib/duet/p-5738c25c.system.entry.js +0 -4
  747. package/lib/duet/p-60a70493.entry.js +0 -4
  748. package/lib/duet/p-67862509.system.entry.js +0 -4
  749. package/lib/duet/p-67d9de79.system.entry.js +0 -4
  750. package/lib/duet/p-6c93f614.system.entry.js +0 -4
  751. package/lib/duet/p-6d74aac6.system.entry.js +0 -4
  752. package/lib/duet/p-6f677b2a.system.entry.js +0 -4
  753. package/lib/duet/p-6f6a58e4.system.entry.js +0 -4
  754. package/lib/duet/p-701b89a1.entry.js +0 -4
  755. package/lib/duet/p-70477e77.system.entry.js +0 -4
  756. package/lib/duet/p-7260f799.entry.js +0 -4
  757. package/lib/duet/p-7326a4c0.system.entry.js +0 -4
  758. package/lib/duet/p-7394e25f.js +0 -4
  759. package/lib/duet/p-74216caa.entry.js +0 -4
  760. package/lib/duet/p-79075bec.system.entry.js +0 -4
  761. package/lib/duet/p-7ac0621b.system.entry.js +0 -4
  762. package/lib/duet/p-7b7faa01.system.entry.js +0 -4
  763. package/lib/duet/p-7cf9e266.system.entry.js +0 -4
  764. package/lib/duet/p-81c35152.entry.js +0 -4
  765. package/lib/duet/p-822a791e.entry.js +0 -4
  766. package/lib/duet/p-8364fae3.entry.js +0 -4
  767. package/lib/duet/p-8433b6d1.system.entry.js +0 -4
  768. package/lib/duet/p-850eacf6.entry.js +0 -4
  769. package/lib/duet/p-87ca87df.entry.js +0 -4
  770. package/lib/duet/p-8810df88.js +0 -4
  771. package/lib/duet/p-8b5d616e.system.entry.js +0 -4
  772. package/lib/duet/p-8b641c9c.system.entry.js +0 -4
  773. package/lib/duet/p-8e5253bc.entry.js +0 -4
  774. package/lib/duet/p-97fc4a88.system.entry.js +0 -4
  775. package/lib/duet/p-98488fab.system.entry.js +0 -4
  776. package/lib/duet/p-9949a334.entry.js +0 -4
  777. package/lib/duet/p-9ce8627c.system.entry.js +0 -4
  778. package/lib/duet/p-9d505129.system.entry.js +0 -4
  779. package/lib/duet/p-9e3276c6.system.entry.js +0 -4
  780. package/lib/duet/p-9f9ada02.system.entry.js +0 -4
  781. package/lib/duet/p-a374de00.entry.js +0 -4
  782. package/lib/duet/p-a39844b6.entry.js +0 -4
  783. package/lib/duet/p-a8e6dcb9.entry.js +0 -4
  784. package/lib/duet/p-ac962b74.system.entry.js +0 -4
  785. package/lib/duet/p-afee3739.system.entry.js +0 -4
  786. package/lib/duet/p-b0475c8a.entry.js +0 -4
  787. package/lib/duet/p-b07fe45f.system.entry.js +0 -4
  788. package/lib/duet/p-b465c929.entry.js +0 -4
  789. package/lib/duet/p-b71c141b.system.entry.js +0 -4
  790. package/lib/duet/p-b7605eb1.entry.js +0 -4
  791. package/lib/duet/p-b7e61bdc.system.entry.js +0 -4
  792. package/lib/duet/p-b8b12400.system.entry.js +0 -4
  793. package/lib/duet/p-b9eb37ae.system.entry.js +0 -4
  794. package/lib/duet/p-bd594a8b.entry.js +0 -4
  795. package/lib/duet/p-bde9a702.system.entry.js +0 -4
  796. package/lib/duet/p-c1573ac3.system.entry.js +0 -4
  797. package/lib/duet/p-c1fb544b.system.entry.js +0 -4
  798. package/lib/duet/p-c2731be1.system.entry.js +0 -4
  799. package/lib/duet/p-c2b0861c.system.entry.js +0 -4
  800. package/lib/duet/p-c3a883e3.entry.js +0 -4
  801. package/lib/duet/p-c4fac0b5.system.entry.js +0 -4
  802. package/lib/duet/p-cb451f23.entry.js +0 -4
  803. package/lib/duet/p-cba1009b.entry.js +0 -4
  804. package/lib/duet/p-cd05fea5.system.entry.js +0 -4
  805. package/lib/duet/p-cf824b6b.system.entry.js +0 -4
  806. package/lib/duet/p-d183a3e7.system.entry.js +0 -4
  807. package/lib/duet/p-d1f815a3.system.entry.js +0 -4
  808. package/lib/duet/p-d4d63fbd.system.entry.js +0 -4
  809. package/lib/duet/p-d68c84ab.entry.js +0 -4
  810. package/lib/duet/p-d6d5ef13.entry.js +0 -4
  811. package/lib/duet/p-d7c5ac53.entry.js +0 -4
  812. package/lib/duet/p-db6887df.entry.js +0 -4
  813. package/lib/duet/p-db95e133.entry.js +0 -4
  814. package/lib/duet/p-dfc66b98.entry.js +0 -4
  815. package/lib/duet/p-e27a7520.system.entry.js +0 -4
  816. package/lib/duet/p-e356ca29.entry.js +0 -4
  817. package/lib/duet/p-e3f8becc.entry.js +0 -4
  818. package/lib/duet/p-e50d1003.system.entry.js +0 -4
  819. package/lib/duet/p-e9b8cee0.system.entry.js +0 -4
  820. package/lib/duet/p-ea1287ce.system.entry.js +0 -4
  821. package/lib/duet/p-f0317574.entry.js +0 -4
  822. package/lib/duet/p-f27b134c.system.entry.js +0 -4
  823. package/lib/duet/p-f74b6629.entry.js +0 -4
  824. package/lib/duet/p-faf2b9d1.entry.js +0 -4
  825. package/lib/duet/p-fbdb1eec.entry.js +0 -4
  826. package/lib/duet/p-fc0f56ae.system.entry.js +0 -4
  827. package/lib/duet/p-fee0f558.entry.js +0 -4
  828. package/lib/esm-es5/teleport-6b18ccae.js +0 -4
package/hydrate/index.js CHANGED
@@ -6074,6 +6074,18 @@ const disconnectLanguageChangeObserver = (component) => {
6074
6074
  languageChangeTargets.delete(component);
6075
6075
  };
6076
6076
 
6077
+ /**
6078
+ * This function is a workaround for a bug in Chromium-based browsers, where building the accessibility tree fails
6079
+ * with nested shadow roots. See https://atlassian.lahitapiola.fi/jira/browse/DUET-780
6080
+ */
6081
+ function nudge(component) {
6082
+ setTimeout(() => {
6083
+ const el = document.createElement("template");
6084
+ component.element.appendChild(el);
6085
+ el.remove();
6086
+ }, 10);
6087
+ }
6088
+
6077
6089
  const colorWarning = "rgb(247, 178, 40)";
6078
6090
  const colorGrayDarker = "rgb(101, 119, 135)";
6079
6091
  const colorGrayLighter = "rgb(245, 248, 250)";
@@ -6592,6 +6604,9 @@ class DuetActionButton {
6592
6604
  componentWillLoad() {
6593
6605
  inheritGlobalTheme(this);
6594
6606
  }
6607
+ componentDidLoad() {
6608
+ nudge(this);
6609
+ }
6595
6610
  connectedCallback() {
6596
6611
  connectLanguageChangeObserver(this, { prop: "accessibleLabel", defaults: "accessibleLabelsDefaults" });
6597
6612
  }
@@ -6719,6 +6734,7 @@ class DuetAlert {
6719
6734
  if (this.autoDismiss) {
6720
6735
  this.timeoutID = setTimeout(() => this.handleDismiss(), this.autoDismiss);
6721
6736
  }
6737
+ nudge(this);
6722
6738
  }
6723
6739
  connectedCallback() {
6724
6740
  connectLanguageChangeObserver(this, { prop: "accessibleLabel", defaults: "accessibleLabelDefaults" });
@@ -6777,6 +6793,7 @@ class DuetAlert {
6777
6793
  this.alertContainer = element;
6778
6794
  }, tabindex: this.focusable ? "0" : undefined }, this.icon && (hAsync("div", { class: "duet-alert-icon" }, hAsync("duet-icon", { size: "auto", name: this.icon, color: "currentColor" }))), hAsync("span", { id: this.descriptiveId }, hAsync("slot", null))), this.dismissible && (hAsync("div", { class: "duet-alert-dismiss" }, hAsync("duet-button", { variation: "plain", accessibleLabel: this.accessibleLabel, accessibleDescribedBy: this.descriptiveId, color: closeColor, iconSize: "medium", icon: "navigation-close", iconOnly: true, margin: "none", theme: this.theme, onClick: this.handleDismiss, fixed: true }))))));
6779
6795
  }
6796
+ get element() { return getElement(this); }
6780
6797
  static get style() { return duetAlertCss; }
6781
6798
  static get cmpMeta() { return {
6782
6799
  "$flags$": 9,
@@ -6821,6 +6838,9 @@ class DuetBadge {
6821
6838
  componentWillLoad() {
6822
6839
  inheritGlobalTheme(this);
6823
6840
  }
6841
+ componentDidLoad() {
6842
+ nudge(this);
6843
+ }
6824
6844
  /**
6825
6845
  * render() function
6826
6846
  * Always the last one of the class.
@@ -6834,6 +6854,7 @@ class DuetBadge {
6834
6854
  "duet-theme-turva": this.theme === "turva",
6835
6855
  } }, hAsync("slot", null))));
6836
6856
  }
6857
+ get element() { return getElement(this); }
6837
6858
  static get style() { return duetBadgeCss; }
6838
6859
  static get cmpMeta() { return {
6839
6860
  "$flags$": 9,
@@ -6875,6 +6896,9 @@ class DuetBanner {
6875
6896
  this.hasDescriptionSlot = !!this.element.querySelector('[slot="description"]');
6876
6897
  this.hasActionSlot = !!this.element.querySelector('[slot="action"]');
6877
6898
  }
6899
+ componentDidLoad() {
6900
+ nudge(this);
6901
+ }
6878
6902
  /**
6879
6903
  * render() function
6880
6904
  * Always the last one of the class.
@@ -6938,6 +6962,9 @@ class DuetBreadcrumb {
6938
6962
  componentWillLoad() {
6939
6963
  inheritGlobalTheme(this);
6940
6964
  }
6965
+ componentDidLoad() {
6966
+ nudge(this);
6967
+ }
6941
6968
  connectedCallback() {
6942
6969
  connectLanguageChangeObserver(this);
6943
6970
  }
@@ -7111,6 +7138,9 @@ class DuetButton {
7111
7138
  console.warn("[DUET]: Button used as an external link will override any icon that is set");
7112
7139
  }
7113
7140
  }
7141
+ componentDidLoad() {
7142
+ nudge(this);
7143
+ }
7114
7144
  connectedCallback() {
7115
7145
  this.proxyButton = document.createElement("button");
7116
7146
  this.proxyButton.style.display = "none";
@@ -7294,6 +7324,9 @@ class DuetCallout {
7294
7324
  inheritGlobalTheme(this);
7295
7325
  this.hasAuthorSlot = !!this.element.querySelector('[slot="author"]');
7296
7326
  }
7327
+ componentDidLoad() {
7328
+ nudge(this);
7329
+ }
7297
7330
  /**
7298
7331
  * render() function
7299
7332
  * Always the last one in the class.
@@ -7340,6 +7373,9 @@ class DuetCaption {
7340
7373
  componentWillLoad() {
7341
7374
  inheritGlobalTheme(this);
7342
7375
  }
7376
+ componentDidLoad() {
7377
+ nudge(this);
7378
+ }
7343
7379
  /**
7344
7380
  * render() function
7345
7381
  * Always the last one in the class.
@@ -7353,6 +7389,7 @@ class DuetCaption {
7353
7389
  "duet-m-0": this.margin === "none",
7354
7390
  } }, hAsync("slot", null)));
7355
7391
  }
7392
+ get element() { return getElement(this); }
7356
7393
  static get style() { return duetCaptionCss; }
7357
7394
  static get cmpMeta() { return {
7358
7395
  "$flags$": 9,
@@ -7426,6 +7463,9 @@ class DuetCard {
7426
7463
  ;
7427
7464
  this.hasFooter = !!this.element.querySelector("[slot='footer']");
7428
7465
  }
7466
+ componentDidLoad() {
7467
+ nudge(this);
7468
+ }
7429
7469
  renderHeading() {
7430
7470
  const safeHeadingLevel = sanitizeString$1(this.headingLevel);
7431
7471
  const HeadingTag = [...duetHeadingLevels, duetBlock].some(tag => tag === safeHeadingLevel) ? safeHeadingLevel : "h2";
@@ -7573,6 +7613,9 @@ class DuetCheckbox {
7573
7613
  this.value = this.identifier;
7574
7614
  }
7575
7615
  }
7616
+ componentDidLoad() {
7617
+ nudge(this);
7618
+ }
7576
7619
  /**
7577
7620
  * Sets focus on the specified `duet-checkbox`. Use this method instead of the global
7578
7621
  * `input.focus()`.
@@ -7680,12 +7723,11 @@ class DuetChip {
7680
7723
  */
7681
7724
  this.chipId = createID("DuetChip");
7682
7725
  this.popupSetUp = () => {
7683
- const popup = this.element.querySelector("duet-popup-menu");
7726
+ const popup = document.querySelector(`duet-popup-menu#${this.popup}`);
7684
7727
  if (popup) {
7685
- this.popup = popup;
7728
+ this.popupElement = popup;
7686
7729
  popup.controller = this.element;
7687
- const labelSpan = this.element.querySelector("span");
7688
- const originalText = labelSpan.textContent;
7730
+ const originalText = this.element.textContent;
7689
7731
  const originalValue = this.value;
7690
7732
  if (!popup.id) {
7691
7733
  popup.id = "popup-menu";
@@ -7705,13 +7747,13 @@ class DuetChip {
7705
7747
  if (!item.active) {
7706
7748
  clearActive();
7707
7749
  item.active = true;
7708
- labelSpan.textContent = item.innerText;
7750
+ this.element.textContent = item.innerText;
7709
7751
  this.value = value;
7710
7752
  this.checked = true;
7711
7753
  }
7712
7754
  else {
7713
7755
  clearActive();
7714
- labelSpan.textContent = originalText;
7756
+ this.element.textContent = originalText;
7715
7757
  this.value = originalValue;
7716
7758
  this.checked = false;
7717
7759
  }
@@ -7720,8 +7762,8 @@ class DuetChip {
7720
7762
  // Chrome will emit a separate click event on the chip after the popup is closed, resulting popup.toggle() to
7721
7763
  // open the popup again. Firefox does not have this behavior.
7722
7764
  setTimeout(() => {
7723
- if (this.popup.isOpen()) {
7724
- this.popup.hide();
7765
+ if (this.popupElement.isOpen()) {
7766
+ this.popupElement.hide();
7725
7767
  }
7726
7768
  });
7727
7769
  });
@@ -7782,10 +7824,10 @@ class DuetChip {
7782
7824
  evt.preventDefault();
7783
7825
  return;
7784
7826
  }
7785
- if (this.popup) {
7827
+ if (this.popupElement) {
7786
7828
  evt.stopPropagation();
7787
7829
  evt.preventDefault();
7788
- this.popup.toggle();
7830
+ this.popupElement.toggle();
7789
7831
  }
7790
7832
  };
7791
7833
  /**
@@ -7797,10 +7839,11 @@ class DuetChip {
7797
7839
  this.element.remove();
7798
7840
  };
7799
7841
  this.focus = false;
7800
- this.popup = undefined;
7842
+ this.popupElement = undefined;
7801
7843
  this.popupOpen = undefined;
7802
7844
  this.accessibleLabel = undefined;
7803
7845
  this.variation = "button";
7846
+ this.popup = undefined;
7804
7847
  this.icon = "";
7805
7848
  this.theme = "";
7806
7849
  this.identifier = undefined;
@@ -7826,6 +7869,9 @@ class DuetChip {
7826
7869
  inheritGlobalTheme(this);
7827
7870
  this.popupSetUp();
7828
7871
  }
7872
+ componentDidLoad() {
7873
+ nudge(this);
7874
+ }
7829
7875
  /**
7830
7876
  * Sets focus. Use this method instead of the global focus().
7831
7877
  */
@@ -7840,7 +7886,7 @@ class DuetChip {
7840
7886
  [`duet-chip-${this.variation}`]: true,
7841
7887
  "duet-chip-focus": this.focus,
7842
7888
  "duet-chip-has-icon": !!this.icon,
7843
- "duet-chip-has-popup": this.variation === "filter" && !!this.popup,
7889
+ "duet-chip-has-popup": this.variation === "filter" && !!this.popupElement,
7844
7890
  "duet-theme-turva": this.theme === "turva",
7845
7891
  "duet-chip-filter-checked": this.variation === "filter" && this.checked,
7846
7892
  "duet-chip-radio-checked": this.variation === "radio" && this.checked,
@@ -7852,7 +7898,7 @@ class DuetChip {
7852
7898
  onBlur: this.onBlur,
7853
7899
  ref: el => (this.focusableElement = el),
7854
7900
  };
7855
- return (hAsync(Host, null, this.variation === "button" && (hAsync("div", { class: classes }, hAsync("button", Object.assign({ id: identifier, "aria-label": this.accessibleLabel, "aria-disabled": this.disabled ? "true" : undefined, name: this.name, value: this.value, onClick: this.disabled ? evt => evt.stopPropagation() : undefined }, focusHandlers), hAsync("div", { class: "duet-chip-icon-container" }, this.icon && (hAsync("duet-icon", { name: this.icon, size: "x-small", margin: "none", color: "currentColor" }))), hAsync("slot", null)))), this.variation === "input" && (hAsync("div", { class: classes }, hAsync("button", Object.assign({ id: identifier, class: "duet-chip-input-button", "aria-label": this.accessibleLabel }, focusHandlers), hAsync("div", { class: "duet-chip-icon-container" }, this.icon && (hAsync("duet-icon", { name: this.icon, size: "x-small", margin: "none", color: "currentColor" }))), hAsync("slot", null)), hAsync("button", { class: "duet-chip-remove-button", onClick: this.onRemoveClick }, hAsync("duet-icon", { name: "activity-close", size: "xx-small", margin: "none", color: "currentColor" })))), this.variation === "filter" && (hAsync("div", { class: classes }, hAsync("input", Object.assign({ "aria-haspopup": this.popup && "menu", "aria-controls": (_a = this.popup) === null || _a === void 0 ? void 0 : _a.id, "aria-expanded": this.popup ? (this.popupOpen ? "true" : "false") : undefined, "aria-disabled": this.disabled ? "true" : undefined, id: identifier, type: "checkbox", name: this.name, value: this.value, checked: this.checked, onClick: this.onFilterClick, onChange: this.onFilterChange }, focusHandlers)), hAsync("label", { htmlFor: identifier }, hAsync("div", { class: "duet-chip-icon-container" }, this.icon && (hAsync("duet-icon", { name: this.icon, size: "x-small", margin: "none", color: "currentColor" })), hAsync("duet-icon", { name: "messaging-checked-small", size: "xx-small", margin: "none", color: "currentColor", class: "check-mark" })), hAsync("slot", null), this.popup && (hAsync("div", { class: "duet-chip-popup-disclosure" }, hAsync("duet-icon", { name: "action-arrow-down-small", size: "xxx-small", margin: "none", color: "currentColor" })))))), this.variation === "radio" && (hAsync("div", { class: classes }, hAsync("input", Object.assign({ "aria-disabled": this.disabled ? "true" : undefined, id: identifier, type: "radio", name: this.name, value: this.value, checked: this.checked, onChange: this.onRadioChange, onClick: this.disabled ? evt => evt.preventDefault() : undefined }, focusHandlers)), hAsync("label", { htmlFor: identifier }, hAsync("div", { class: "duet-chip-icon-container" }, this.icon && (hAsync("duet-icon", { name: this.icon, size: "x-small", margin: "none", color: "currentColor" })), hAsync("duet-icon", { name: "messaging-checked-small", size: "xx-small", margin: "none", color: "currentColor", class: "check-mark" })), hAsync("slot", null))))));
7901
+ return (hAsync(Host, null, this.variation === "button" && (hAsync("div", { class: classes }, hAsync("button", Object.assign({ id: identifier, "aria-label": this.accessibleLabel, "aria-disabled": this.disabled ? "true" : undefined, name: this.name, value: this.value, onClick: this.disabled ? evt => evt.stopPropagation() : undefined }, focusHandlers), hAsync("div", { class: "duet-chip-icon-container" }, this.icon && (hAsync("duet-icon", { name: this.icon, size: "x-small", margin: "none", color: "currentColor" }))), hAsync("slot", null)))), this.variation === "input" && (hAsync("div", { class: classes }, hAsync("button", Object.assign({ id: identifier, class: "duet-chip-input-button", "aria-label": this.accessibleLabel }, focusHandlers), hAsync("div", { class: "duet-chip-icon-container" }, this.icon && (hAsync("duet-icon", { name: this.icon, size: "x-small", margin: "none", color: "currentColor" }))), hAsync("slot", null)), hAsync("button", { class: "duet-chip-remove-button", onClick: this.onRemoveClick }, hAsync("duet-icon", { name: "activity-close", size: "xx-small", margin: "none", color: "currentColor" })))), this.variation === "filter" && (hAsync("div", { class: classes }, hAsync("input", Object.assign({ "aria-haspopup": this.popupElement && "menu", "aria-controls": (_a = this.popupElement) === null || _a === void 0 ? void 0 : _a.id, "aria-expanded": this.popupElement ? (this.popupOpen ? "true" : "false") : undefined, "aria-disabled": this.disabled ? "true" : undefined, id: identifier, type: "checkbox", name: this.name, value: this.value, checked: this.checked, onClick: this.onFilterClick, onChange: this.onFilterChange }, focusHandlers)), hAsync("label", { htmlFor: identifier }, hAsync("div", { class: "duet-chip-icon-container" }, this.icon && (hAsync("duet-icon", { name: this.icon, size: "x-small", margin: "none", color: "currentColor" })), hAsync("duet-icon", { name: "messaging-checked-small", size: "xx-small", margin: "none", color: "currentColor", class: "check-mark" })), hAsync("slot", null), this.popupElement && (hAsync("div", { class: "duet-chip-popup-disclosure" }, hAsync("duet-icon", { name: "action-arrow-down-small", size: "xxx-small", margin: "none", color: "currentColor" })))))), this.variation === "radio" && (hAsync("div", { class: classes }, hAsync("input", Object.assign({ "aria-disabled": this.disabled ? "true" : undefined, id: identifier, type: "radio", name: this.name, value: this.value, checked: this.checked, onChange: this.onRadioChange, onClick: this.disabled ? evt => evt.preventDefault() : undefined }, focusHandlers)), hAsync("label", { htmlFor: identifier }, hAsync("div", { class: "duet-chip-icon-container" }, this.icon && (hAsync("duet-icon", { name: this.icon, size: "x-small", margin: "none", color: "currentColor" })), hAsync("duet-icon", { name: "messaging-checked-small", size: "xx-small", margin: "none", color: "currentColor", class: "check-mark" })), hAsync("slot", null))))));
7856
7902
  }
7857
7903
  get element() { return getElement(this); }
7858
7904
  static get watchers() { return {
@@ -7865,6 +7911,7 @@ class DuetChip {
7865
7911
  "$members$": {
7866
7912
  "accessibleLabel": [1, "accessible-label"],
7867
7913
  "variation": [1],
7914
+ "popup": [1],
7868
7915
  "icon": [1],
7869
7916
  "theme": [1025],
7870
7917
  "identifier": [1],
@@ -7873,7 +7920,7 @@ class DuetChip {
7873
7920
  "checked": [1540],
7874
7921
  "disabled": [4],
7875
7922
  "focus": [32],
7876
- "popup": [32],
7923
+ "popupElement": [32],
7877
7924
  "popupOpen": [32],
7878
7925
  "setFocus": [64]
7879
7926
  },
@@ -8034,6 +8081,9 @@ class DuetChoice {
8034
8081
  this.hasLabel = hasSlot(this.element, "label");
8035
8082
  this.hasBeforeText = hasSlot(this.element, "before-text");
8036
8083
  }
8084
+ componentDidLoad() {
8085
+ nudge(this);
8086
+ }
8037
8087
  connectedCallback() {
8038
8088
  connectLanguageChangeObserver(this, [
8039
8089
  { prop: "accessibleLabelInfoButton", defaults: "accessibleLabelInfoButtonDefaults" },
@@ -8321,6 +8371,9 @@ class DuetChoiceGroup {
8321
8371
  componentWillLoad() {
8322
8372
  inheritGlobalTheme(this);
8323
8373
  }
8374
+ componentDidLoad() {
8375
+ nudge(this);
8376
+ }
8324
8377
  /**
8325
8378
  * Local methods
8326
8379
  */
@@ -8966,6 +9019,9 @@ class DuetCollapsible {
8966
9019
  inheritGlobalTheme(this);
8967
9020
  this.hasAfterHeading = hasSlot(this.element, "after-heading");
8968
9021
  }
9022
+ componentDidLoad() {
9023
+ nudge(this);
9024
+ }
8969
9025
  /**
8970
9026
  * Sets focus on the specified `duet-collapsible`. Use this method instead of the global
8971
9027
  * `collapsible.focus()`.
@@ -9445,6 +9501,9 @@ class DuetContactCard {
9445
9501
  componentWillLoad() {
9446
9502
  inheritGlobalTheme(this);
9447
9503
  }
9504
+ componentDidLoad() {
9505
+ nudge(this);
9506
+ }
9448
9507
  connectedCallback() {
9449
9508
  connectLanguageChangeObserver(this);
9450
9509
  }
@@ -9516,6 +9575,9 @@ class DuetCookieConsent {
9516
9575
  componentWillLoad() {
9517
9576
  inheritGlobalTheme(this);
9518
9577
  }
9578
+ componentDidLoad() {
9579
+ nudge(this);
9580
+ }
9519
9581
  /**
9520
9582
  * render() function.
9521
9583
  * Always the last one in the class.
@@ -10099,6 +10161,9 @@ class DuetDatePicker {
10099
10161
  this.determineValidity(parseISODate(this.value));
10100
10162
  this.updateInternalValue();
10101
10163
  }
10164
+ componentDidLoad() {
10165
+ nudge(this);
10166
+ }
10102
10167
  componentDidUpdate() {
10103
10168
  // we want to run this code _after_ render
10104
10169
  // to ensure all elements are visible (and thus focusable)
@@ -10436,6 +10501,9 @@ class DuetEditableTable {
10436
10501
  this.hasHeadSlotLast = !!this.element.querySelector("[slot='thead-last']");
10437
10502
  this.hasFootSlot = !!this.element.querySelector("[slot='tfoot']");
10438
10503
  }
10504
+ componentDidLoad() {
10505
+ nudge(this);
10506
+ }
10439
10507
  connectedCallback() {
10440
10508
  connectLanguageChangeObserver(this);
10441
10509
  }
@@ -10576,6 +10644,9 @@ class DuetEmptyState {
10576
10644
  componentWillLoad() {
10577
10645
  inheritGlobalTheme(this);
10578
10646
  }
10647
+ componentDidLoad() {
10648
+ nudge(this);
10649
+ }
10579
10650
  /**
10580
10651
  * render() function
10581
10652
  * Always the last one in the class.
@@ -10587,6 +10658,7 @@ class DuetEmptyState {
10587
10658
  "duet-is-small": this.size === "small",
10588
10659
  } }, hAsync("duet-icon", { color: "currentColor", name: this.icon, size: this.size === "small" ? "large" : "x-large" }), hAsync("div", null, hAsync("slot", null)))));
10589
10660
  }
10661
+ get element() { return getElement(this); }
10590
10662
  static get style() { return duetEmptyStateCss; }
10591
10663
  static get cmpMeta() { return {
10592
10664
  "$flags$": 9,
@@ -10634,6 +10706,9 @@ class DuetFieldset {
10634
10706
  inheritGlobalTheme(this);
10635
10707
  this.checkHasTooltip();
10636
10708
  }
10709
+ componentDidLoad() {
10710
+ nudge(this);
10711
+ }
10637
10712
  /**
10638
10713
  * render() function
10639
10714
  * Always the last one in the class.
@@ -10767,6 +10842,9 @@ class DuetFooter {
10767
10842
  this.hasInfoSlot = Array.from(this.element.children).filter(el => el.matches("[slot='info']")).length > 0
10768
10843
  ;
10769
10844
  }
10845
+ componentDidLoad() {
10846
+ nudge(this);
10847
+ }
10770
10848
  connectedCallback() {
10771
10849
  connectLanguageChangeObserver(this, {
10772
10850
  prop: "accessibleLabelExternal",
@@ -11557,6 +11635,9 @@ class DuetHeader {
11557
11635
  inheritGlobalTheme(this);
11558
11636
  this.refresh();
11559
11637
  }
11638
+ componentDidLoad() {
11639
+ nudge(this);
11640
+ }
11560
11641
  connectedCallback() {
11561
11642
  for (let i = 0; i < this.mql.length; i++) {
11562
11643
  // addEventListener is not available in Stencil hydrate
@@ -11904,6 +11985,9 @@ class DuetHeading {
11904
11985
  componentWillLoad() {
11905
11986
  inheritGlobalTheme(this);
11906
11987
  }
11988
+ componentDidLoad() {
11989
+ nudge(this);
11990
+ }
11907
11991
  /**
11908
11992
  * render() function
11909
11993
  * Always the last one in the class.
@@ -11944,7 +12028,7 @@ class DuetHeading {
11944
12028
  }; }
11945
12029
  }
11946
12030
 
11947
- const duetHeroCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-hero,*.sc-duet-hero::after,*.sc-duet-hero::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-hero-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;width:100%}/*!@.duet-hero*/.duet-hero.sc-duet-hero{position:relative;display:block;width:100%;padding:48px 28px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-style:normal;font-weight:400;line-height:1.5;text-decoration:none;text-shadow:none;text-transform:none;background:rgb(0, 41, 77)}/*!@.duet-hero.duet-p-0*/.duet-hero.duet-p-0.sc-duet-hero{padding:0 !important}/*!@.duet-hero.duet-m-0*/.duet-hero.duet-m-0.sc-duet-hero{margin:0 !important}/*!@.duet-hero.duet-hero-text-center*/.duet-hero.duet-hero-text-center.sc-duet-hero{text-align:center !important}/*!@.duet-hero.duet-hero-light*/.duet-hero.duet-hero-light.sc-duet-hero{padding-bottom:0 !important}@media (min-width: 62em){/*!@.duet-hero.duet-hero-light*/.duet-hero.duet-hero-light.sc-duet-hero{padding-bottom:28px !important}}/*!@.duet-hero.duet-hero-with-image*/.duet-hero.duet-hero-with-image.sc-duet-hero{padding-bottom:20px !important;margin-bottom:-36px}@media (min-width: 48em){/*!@.duet-hero.duet-hero-with-image*/.duet-hero.duet-hero-with-image.sc-duet-hero{padding-bottom:28px !important}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-with-image*/.duet-hero.duet-hero-with-image.sc-duet-hero{padding-bottom:36px !important;margin-bottom:-20px}}/*!@.duet-hero.duet-hero-light, .duet-hero.duet-hero-with-image*/.duet-hero.duet-hero-light.sc-duet-hero,.duet-hero.duet-hero-with-image.sc-duet-hero{color:rgb(0, 41, 77);background-color:rgb(255, 255, 255);background-image:linear-gradient(rgb(243, 249, 252), #f9fcfe)}/*!@.duet-hero.duet-hero-light::before, .duet-hero.duet-hero-with-image::before*/.duet-hero.duet-hero-light.sc-duet-hero::before,.duet-hero.duet-hero-with-image.sc-duet-hero::before{position:absolute;top:100%;left:0;z-index:-1;width:100%;height:400px;content:\"\";background-image:linear-gradient(#f9fcfe, rgb(255, 255, 255))}/*!@.duet-hero.duet-hero-light.duet-theme-turva, .duet-hero.duet-hero-with-image.duet-theme-turva*/.duet-hero.duet-hero-light.duet-theme-turva.sc-duet-hero,.duet-hero.duet-hero-with-image.duet-theme-turva.sc-duet-hero{color:rgb(23, 28, 58);background-image:linear-gradient(rgb(245, 245, 247), #fafafb)}/*!@.duet-hero.duet-hero-light.duet-theme-turva::before, .duet-hero.duet-hero-with-image.duet-theme-turva::before*/.duet-hero.duet-hero-light.duet-theme-turva.sc-duet-hero::before,.duet-hero.duet-hero-with-image.duet-theme-turva.sc-duet-hero::before{background-image:linear-gradient(#fafafb, rgb(255, 255, 255))}/*!@.duet-hero.duet-hero-gray*/.duet-hero.duet-hero-gray.sc-duet-hero{color:rgb(0, 41, 77);background:rgb(245, 248, 250)}/*!@.duet-hero.duet-hero-gray.duet-theme-turva*/.duet-hero.duet-hero-gray.duet-theme-turva.sc-duet-hero{background:rgb(245, 245, 247)}@media (min-width: 62em){/*!@.duet-hero.duet-hero-gray .duet-hero-text*/.duet-hero.duet-hero-gray.sc-duet-hero .duet-hero-text.sc-duet-hero{display:inline-block;vertical-align:top}/*!@.duet-hero.duet-hero-gray .duet-hero-icon + .duet-hero-text*/.duet-hero.duet-hero-gray.sc-duet-hero .duet-hero-icon.sc-duet-hero+.duet-hero-text.sc-duet-hero{margin-left:28px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-gray-with-actions*/.duet-hero.duet-hero-gray-with-actions.sc-duet-hero{padding-bottom:65.4545454545px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-gray-with-back*/.duet-hero.duet-hero-gray-with-back.sc-duet-hero{padding-top:72px}}/*!@.duet-hero.duet-hero-campaign, .duet-hero.duet-hero-section*/.duet-hero.duet-hero-campaign.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero{padding:0 0 48px;margin:0;background:none}/*!@.duet-hero.duet-hero-campaign .background-area, .duet-hero.duet-hero-section .background-area*/.duet-hero.duet-hero-campaign.sc-duet-hero .background-area.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background-area.sc-duet-hero{height:1px;margin-bottom:-1px}/*!@.duet-hero.duet-hero-campaign .background-container, .duet-hero.duet-hero-section .background-container*/.duet-hero.duet-hero-campaign.sc-duet-hero .background-container.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background-container.sc-duet-hero{position:absolute;right:0;left:0;display:grid;align-items:flex-start;justify-content:center;overflow:hidden}/*!@.duet-hero.duet-hero-campaign .background, .duet-hero.duet-hero-section .background*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero{display:flex;align-items:flex-start;justify-content:center;height:220px;margin:0 auto}/*!@.duet-hero.duet-hero-campaign .background img, .duet-hero.duet-hero-section .background img*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero img.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero img.sc-duet-hero{height:100%}@media (min-width: 1440px){/*!@.duet-hero.duet-hero-campaign .background img, .duet-hero.duet-hero-section .background img*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero img.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero img.sc-duet-hero{width:100%;height:auto}}@media (min-width: 36em){/*!@.duet-hero.duet-hero-campaign .background, .duet-hero.duet-hero-section .background*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero{height:300px}}@media (min-width: 48em){/*!@.duet-hero.duet-hero-campaign .background, .duet-hero.duet-hero-section .background*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero{height:450px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-campaign .background, .duet-hero.duet-hero-section .background*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero{height:500px}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-campaign .background, .duet-hero.duet-hero-section .background*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero{height:580px}}@media (min-width: 1600px){/*!@.duet-hero.duet-hero-campaign .background, .duet-hero.duet-hero-section .background*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero{width:1600px;overflow:hidden}}/*!@.duet-hero.duet-hero-campaign .background .brand-container, .duet-hero.duet-hero-section .background .brand-container*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero .brand-container.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero .brand-container.sc-duet-hero{position:relative;width:100%;height:100%;min-height:220px;overflow:hidden}/*!@.duet-hero.duet-hero-campaign .background .brand, .duet-hero.duet-hero-section .background .brand*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero .brand.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero .brand.sc-duet-hero{position:absolute;width:100%;height:220px;background-repeat:no-repeat;background-position:center center;background-size:cover}@media (min-width: 36em){/*!@.duet-hero.duet-hero-campaign .background .brand, .duet-hero.duet-hero-section .background .brand*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero .brand.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero .brand.sc-duet-hero{left:-200px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-campaign .background .brand, .duet-hero.duet-hero-section .background .brand*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero .brand.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero .brand.sc-duet-hero{left:auto;height:1100px;background-position:140% -200%}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-campaign .background .brand, .duet-hero.duet-hero-section .background .brand*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero .brand.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero .brand.sc-duet-hero{background-position:right -200%}}/*!@.duet-hero.duet-hero-campaign .brand-shape, .duet-hero.duet-hero-section .brand-shape*/.duet-hero.duet-hero-campaign.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .brand-shape.sc-duet-hero{position:absolute;top:143px;right:0;left:-30px;width:340px;height:340px;margin-right:auto;margin-left:auto;background:rgb(255, 255, 255);border-radius:20%;mix-blend-mode:normal;transform:rotate(8deg)}@media (min-width: 22.5em){/*!@.duet-hero.duet-hero-campaign .brand-shape, .duet-hero.duet-hero-section .brand-shape*/.duet-hero.duet-hero-campaign.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .brand-shape.sc-duet-hero{top:160px;width:450px;height:450px}}@media (min-width: 36em){/*!@.duet-hero.duet-hero-campaign .brand-shape, .duet-hero.duet-hero-section .brand-shape*/.duet-hero.duet-hero-campaign.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .brand-shape.sc-duet-hero{top:215px;left:-50px;width:550px;height:550px}}@media (min-width: 48em){/*!@.duet-hero.duet-hero-campaign .brand-shape, .duet-hero.duet-hero-section .brand-shape*/.duet-hero.duet-hero-campaign.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .brand-shape.sc-duet-hero{top:250px;left:0;width:712.18px;height:712.18px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-campaign .brand-shape, .duet-hero.duet-hero-section .brand-shape*/.duet-hero.duet-hero-campaign.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .brand-shape.sc-duet-hero{top:240px}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-campaign .brand-shape, .duet-hero.duet-hero-section .brand-shape*/.duet-hero.duet-hero-campaign.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .brand-shape.sc-duet-hero{top:280px}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-campaign .brand-shape, .duet-hero.duet-hero-section .brand-shape*/.duet-hero.duet-hero-campaign.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .brand-shape.sc-duet-hero{top:310px}}/*!@.duet-hero.duet-hero-campaign .duet-hero-text, .duet-hero.duet-hero-section .duet-hero-text*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero{width:100%}/*!@.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-heading::part(duet-heading), .duet-hero.duet-hero-section .duet-hero-text .duet-hero-heading::part(duet-heading)*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-heading.sc-duet-hero::part(duet-heading),.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-heading.sc-duet-hero::part(duet-heading){font-size:36px}@media (min-width: 36em){/*!@.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-heading::part(duet-heading), .duet-hero.duet-hero-section .duet-hero-text .duet-hero-heading::part(duet-heading)*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-heading.sc-duet-hero::part(duet-heading),.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-heading.sc-duet-hero::part(duet-heading){font-size:48px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-heading::part(duet-heading), .duet-hero.duet-hero-section .duet-hero-text .duet-hero-heading::part(duet-heading)*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-heading.sc-duet-hero::part(duet-heading),.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-heading.sc-duet-hero::part(duet-heading){font-size:64px}}/*!@.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,\n.duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,\n.duet-hero.duet-hero-section .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero{margin:0 auto}@media (min-width: 22.5em){/*!@.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-section .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero{width:90%}}@media (min-width: 25em){/*!@.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-section .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero{width:80%}}@media (min-width: 30em){/*!@.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-section .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero{width:70%}}@media (min-width: 36em){/*!@.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-section .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero{width:70%}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-section .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero{width:52%}}/*!@.duet-hero.duet-hero-campaign .duet-hero-heading, .duet-hero.duet-hero-section .duet-hero-heading*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-heading.sc-duet-hero{display:flex;align-items:center;height:6rem;padding:0 1rem;margin:1rem 0 4.5rem}@media (min-width: 22.5em){/*!@.duet-hero.duet-hero-campaign .duet-hero-heading, .duet-hero.duet-hero-section .duet-hero-heading*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-heading.sc-duet-hero{margin:2rem 0 4rem}}@media (min-width: 36em){/*!@.duet-hero.duet-hero-campaign .duet-hero-heading, .duet-hero.duet-hero-section .duet-hero-heading*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-heading.sc-duet-hero{margin:3rem 0 8rem}}@media (min-width: 48em){/*!@.duet-hero.duet-hero-campaign .duet-hero-heading, .duet-hero.duet-hero-section .duet-hero-heading*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-heading.sc-duet-hero{margin:4rem 0 10rem}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-campaign .duet-hero-heading, .duet-hero.duet-hero-section .duet-hero-heading*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-heading.sc-duet-hero{margin:5rem 0 10rem}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-campaign .duet-hero-heading, .duet-hero.duet-hero-section .duet-hero-heading*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-heading.sc-duet-hero{margin:6rem 0 10rem}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-campaign .duet-hero-heading, .duet-hero.duet-hero-section .duet-hero-heading*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-heading.sc-duet-hero{margin:8rem 0 11rem}}/*!@.duet-hero.duet-hero-campaign .duet-hero-wrapper.fluid, .duet-hero.duet-hero-campaign .duet-hero-wrapper.narrow, .duet-hero.duet-hero-section .duet-hero-wrapper.fluid, .duet-hero.duet-hero-section .duet-hero-wrapper.narrow*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-wrapper.fluid.sc-duet-hero,.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-wrapper.narrow.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-wrapper.fluid.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-wrapper.narrow.sc-duet-hero{padding:0 16px}/*!@.duet-hero.duet-hero-campaign.duet-theme-turva, .duet-hero.duet-hero-section.duet-theme-turva*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";background:none}/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape, .duet-hero.duet-hero-section.duet-theme-turva .brand-shape*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero{top:125px;left:-10px;width:350px;height:350px;background:rgb(255, 255, 255);transform:none;-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E\");-webkit-mask-repeat:no-repeat;mask-image:url(\"data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E\");mask-repeat:no-repeat}@media (min-width: 22.5em){/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape, .duet-hero.duet-hero-section.duet-theme-turva .brand-shape*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero{top:143px;left:-30px;width:450px;height:450px}}@media (min-width: 36em){/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape, .duet-hero.duet-hero-section.duet-theme-turva .brand-shape*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero{top:180px;left:0;width:550px;height:550px}}@media (min-width: 48em){/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape, .duet-hero.duet-hero-section.duet-theme-turva .brand-shape*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero{top:220px;width:712.18px;height:712.18px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape, .duet-hero.duet-hero-section.duet-theme-turva .brand-shape*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero{top:230px}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape, .duet-hero.duet-hero-section.duet-theme-turva .brand-shape*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero{top:260px}}@media (min-width: 106.25em){/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape, .duet-hero.duet-hero-section.duet-theme-turva .brand-shape*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero{top:290px}}/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,\n.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,\n.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero{width:98%}@media (min-width: 22.5em){/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero{width:90%}}@media (min-width: 25em){/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero{width:78%}}@media (min-width: 30em){/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero{width:66%}}@media (min-width: 36em){/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero{width:65%}}@media (min-width: 48em){/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero{width:70%}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero{width:52%}}@media (min-width: 22.5em){/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-heading, .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-heading*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-heading.sc-duet-hero{margin:2rem 0 5rem}}@media (min-width: 36em){/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-heading, .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-heading*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-heading.sc-duet-hero{margin:3rem 0 8rem}}@media (min-width: 48em){/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-heading, .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-heading*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-heading.sc-duet-hero{margin:4rem 0 10rem}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-heading, .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-heading*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-heading.sc-duet-hero{margin:5rem 0 10rem}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-heading, .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-heading*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-heading.sc-duet-hero{margin:6rem 0 12rem}}@media (min-width: 106.25em){/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-heading, .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-heading*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-heading.sc-duet-hero{margin:8rem 0 13rem}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-section .background img*/.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero img.sc-duet-hero{width:100%;height:auto}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-section .background*/.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero{width:1400px;height:436px;overflow:hidden}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-section .background*/.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero{width:1536px;height:516px}}@media (min-width: 106.25em){/*!@.duet-hero.duet-hero-section .background*/.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero{width:1536px}}/*!@.duet-hero.duet-hero-product*/.duet-hero.duet-hero-product.sc-duet-hero{position:relative;padding:0 0 48px;padding-top:236px;margin:0;background:rgb(255, 255, 255)}@media (min-width: 48em){/*!@.duet-hero.duet-hero-product*/.duet-hero.duet-hero-product.sc-duet-hero{padding-top:250px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product*/.duet-hero.duet-hero-product.sc-duet-hero{min-height:375px;padding-top:0}/*!@.duet-hero.duet-hero-product.duet-hero-narrow*/.duet-hero.duet-hero-product.duet-hero-narrow.sc-duet-hero{padding-top:200px}}/*!@.duet-hero.duet-hero-product .background-area*/.duet-hero.duet-hero-product.sc-duet-hero .background-area.sc-duet-hero{position:absolute;top:0;width:100%;height:600px;overflow:hidden}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .background-area*/.duet-hero.duet-hero-product.sc-duet-hero .background-area.sc-duet-hero{top:-112px}/*!@.duet-hero.duet-hero-product .background-area.narrow*/.duet-hero.duet-hero-product.sc-duet-hero .background-area.narrow.sc-duet-hero{top:0}}/*!@.duet-hero.duet-hero-product .background-container*/.duet-hero.duet-hero-product.sc-duet-hero .background-container.sc-duet-hero{position:absolute;top:-150px;width:100%;height:600px;overflow:hidden}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .background-container*/.duet-hero.duet-hero-product.sc-duet-hero .background-container.sc-duet-hero{top:-48px}/*!@.duet-hero.duet-hero-product .background-container.narrow*/.duet-hero.duet-hero-product.sc-duet-hero .background-container.narrow.sc-duet-hero{top:-160px}}/*!@.duet-hero.duet-hero-product .background*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero{position:absolute;top:145px;width:100%;overflow:visible}/*!@.duet-hero.duet-hero-product .background .background-mask*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .background-mask.sc-duet-hero{display:none}@media (min-width: 48em){/*!@.duet-hero.duet-hero-product .background*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero{top:130px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .background*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero{top:35px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .background.narrow*/.duet-hero.duet-hero-product.sc-duet-hero .background.narrow.sc-duet-hero{top:140px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .background:not(.narrow)*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero:not(.narrow){position:absolute;right:0;left:0;max-width:1440px;height:100%;margin:0 auto}}/*!@.duet-hero.duet-hero-product .background .brand-shaped-image*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero{position:absolute;top:-160px;right:-15%;z-index:0;width:375px;height:375px;overflow:hidden;border-radius:20%;transform:rotate(7deg)}@media (min-width: 36em){/*!@.duet-hero.duet-hero-product .background .brand-shaped-image*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero{right:15%}}@media (min-width: 48em){/*!@.duet-hero.duet-hero-product .background .brand-shaped-image*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero{top:-210px;width:485px;height:485px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .background .brand-shaped-image:not(.narrow)*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero:not(.narrow){top:-353px;right:-128.15px;width:520px;height:736px}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-product .background .brand-shaped-image:not(.narrow)*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero:not(.narrow){width:736px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .background .brand-shaped-image.narrow*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.narrow.sc-duet-hero{right:30%}}/*!@.duet-hero.duet-hero-product .background .brand-shaped-image .brand-shaped-image-wrapper*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero .brand-shaped-image-wrapper.sc-duet-hero{position:relative;width:100%;height:100%}/*!@.duet-hero.duet-hero-product .background .brand-shaped-image .brand-shaped-image-bg*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero .brand-shaped-image-bg.sc-duet-hero{position:absolute;bottom:0;left:50%;z-index:1;width:600px;height:256px;background-repeat:no-repeat;background-size:100%;transform:rotate(-7deg) translate(-50%, 0)}@media (min-width: 48em){/*!@.duet-hero.duet-hero-product .background .brand-shaped-image .brand-shaped-image-bg*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero .brand-shaped-image-bg.sc-duet-hero{width:600px;height:320px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .background .brand-shaped-image .brand-shaped-image-bg:not(.narrow)*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero .brand-shaped-image-bg.sc-duet-hero:not(.narrow){width:800px;height:470px}}/*!@.duet-hero.duet-hero-product .background .brand-shape*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shape.sc-duet-hero{position:absolute;top:-20px;right:50%;width:240px;height:240px;background:rgb(230, 242, 248);border-radius:25%;mix-blend-mode:normal;transform:rotate(7deg)}@media (min-width: 48em){/*!@.duet-hero.duet-hero-product .background .brand-shape*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shape.sc-duet-hero{top:-60px;width:340px;height:340px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .background .brand-shape:not(.narrow)*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shape.sc-duet-hero:not(.narrow){top:auto;top:79px;right:200px;width:380px;height:380px}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-product .background .brand-shape:not(.narrow)*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shape.sc-duet-hero:not(.narrow){right:414px;width:400px;height:400px}}/*!@.duet-hero.duet-hero-product .background .brand-shaped-icon*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.sc-duet-hero{position:absolute;top:160px;right:15%;display:flex;align-items:center;justify-content:center;width:85px;height:85px;background:rgba(0, 119, 179, 0.75);border-radius:25%;mix-blend-mode:normal;transform:rotate(7deg)}@media (min-width: 48em){/*!@.duet-hero.duet-hero-product .background .brand-shaped-icon*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.sc-duet-hero{top:180px;width:120px;height:120px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .background .brand-shaped-icon:not(.narrow)*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.sc-duet-hero:not(.narrow){top:292px;right:220px;width:150px;height:150px}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-product .background .brand-shaped-icon:not(.narrow)*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.sc-duet-hero:not(.narrow){top:292px;right:220px;width:186px;height:186px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .background .brand-shaped-icon.narrow*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.narrow.sc-duet-hero{right:35%}}/*!@.duet-hero.duet-hero-product .background .brand-shaped-icon duet-icon*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.sc-duet-hero duet-icon.sc-duet-hero{width:80px;height:80px;transform:rotate(-7deg)}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .background .brand-shaped-icon duet-icon:not(.narrow)*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.sc-duet-hero duet-icon.sc-duet-hero:not(.narrow){width:120px;height:120px}}/*!@.duet-hero.duet-hero-product .duet-hero-wrapper*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.sc-duet-hero{max-width:100%;margin:0 auto}/*!@.duet-hero.duet-hero-product .duet-hero-wrapper .duet-hero-text*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.sc-duet-hero .duet-hero-text.sc-duet-hero{margin-top:0}/*!@.duet-hero.duet-hero-product .duet-hero-wrapper .duet-hero-heading*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.sc-duet-hero .duet-hero-heading.sc-duet-hero{margin-top:1rem}@media (min-width: 48em){/*!@.duet-hero.duet-hero-product .duet-hero-wrapper .duet-hero-heading*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.sc-duet-hero .duet-hero-heading.sc-duet-hero{margin-top:2rem}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .duet-hero-wrapper .duet-hero-heading*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.sc-duet-hero .duet-hero-heading.sc-duet-hero{margin-top:7rem}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-product .duet-hero-wrapper .duet-hero-heading*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.sc-duet-hero .duet-hero-heading.sc-duet-hero{margin-top:7rem}}/*!@.duet-hero.duet-hero-product .duet-hero-wrapper.fluid, .duet-hero.duet-hero-product .duet-hero-wrapper.narrow*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.fluid.sc-duet-hero,.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.narrow.sc-duet-hero{padding:0 16px}@media (min-width: 36em){/*!@.duet-hero.duet-hero-product .duet-hero-wrapper.fluid*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.fluid.sc-duet-hero{padding:0 28px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .duet-hero-wrapper.fluid*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.fluid.sc-duet-hero{padding:0 56px}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-product .duet-hero-wrapper.fluid*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.fluid.sc-duet-hero{max-width:1110px;padding:0}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .duet-hero-wrapper.fluid .duet-hero-text*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.fluid.sc-duet-hero .duet-hero-text.sc-duet-hero{width:50%}}/*!@.duet-hero.duet-hero-product .duet-hero-wrapper.narrow*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.narrow.sc-duet-hero{max-width:888px}@media (min-width: 36em){/*!@.duet-hero.duet-hero-product .duet-hero-wrapper.narrow*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.narrow.sc-duet-hero{padding:0 48px}}@media (min-width: 48em){/*!@.duet-hero.duet-hero-product .duet-hero-wrapper.narrow*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.narrow.sc-duet-hero{padding:0 72px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .duet-hero-wrapper.narrow .duet-hero-text*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.narrow.sc-duet-hero .duet-hero-text.sc-duet-hero{width:80%}}/*!@.duet-hero.duet-hero-product.duet-theme-turva*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero{background:rgb(255, 255, 255)}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product.duet-theme-turva.duet-hero-narrow*/.duet-hero.duet-hero-product.duet-theme-turva.duet-hero-narrow.sc-duet-hero{padding-top:160px}}/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .background-mask*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .background-mask.sc-duet-hero{position:absolute;top:0;left:0;display:block;width:721px;height:256.85px;background-image:url(\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzIxIiBoZWlnaHQ9IjI1NyIgdmlld0JveD0iMCAwIDcyMSAyNTciIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8yODIwXzY5OTkxKSI+CjxwYXRoIGQ9Ik04MC4xNzA1IDIzLjE4MTVDOTEuOTY5OSAxOC44NjU5IDEwMi44NyAxMS42NTU5IDExMi45MDkgMS41NjQ0OEMxMjMuNzcgLTguMzA1MjcgMTM0LjM4MiAtMTguMjAxMSAxNDQuODI2IC0yOC4xODgyQzE1NS4yNDMgLTM4LjE2MjIgMTY1LjkwOCAtNDguMDg0MSAxNzYuNzQzIC01Ny45Mjc4QzE3OC44MTYgLTU5LjA0OSAxODAuNDk4IC02MC4yODc3IDE4MS43ODggLTYxLjY1NjdDMTgzLjA2NiAtNjMuMDEyNiAxODUuNDY1IC02Mi4yODI1IDE4OS4wMTIgLTU5LjQ3OTNDMTg0LjczNSAtNTEuMTM1IDE4MC43NTkgLTQyLjk2MDIgMTc3LjAxNyAtMzQuOTAyN0MxNzMuMjg4IC0yNi44NDUyIDE2Ny42ODEgLTE5LjEyNjggMTYwLjIxMSAtMTEuNzYwM0MxNTIuNzUzIC00LjM4MDgzIDE0NC45NTYgMy4zMTE1MiAxMzYuODQ3IDExLjM2OUMxMjguNzI0IDE5LjQyNjUgMTIwLjk2NiAyNy4xNDUgMTEzLjQ4MyAzNC40OTg0Qzk3LjQ5OCA0OS44MTggNzkuNjYyIDU2LjAyNDEgNjAuMDAwOCA1My4xNjg4QzQwLjI4NzQgNTAuMzEzNSAyNS41NDE0IDM5LjA3NDcgMTUuNjk3NyAxOS40Nzg2QzMuOTI0NDUgLTIuMzcyOTkgLTEuMjI1NTUgLTI0LjQ3MjQgMC4yNDc3NDMgLTQ2Ljc4MDNDMS4yNTE2NyAtNjcuNDg0NiAzLjQwMjkzIC04Ny43OTc4IDYuODA1ODQgLTEwNy43NzJDMTAuMTk1NyAtMTI3LjczMyAxNS43MTA4IC0xNDcuNDg2IDIzLjMzOCAtMTY3LjA0M0MyNi4zMTA3IC0xNzQuMDMxIDI5LjAwOTUgLTE4MC44NSAzMS40NzM3IC0xODcuNTY0QzMzLjkxMTggLTE5NC4yMjcgMzYuNTMyNCAtMjAwLjY2OCAzOS4yNTc0IC0yMDYuODQ4QzQxLjgxMjggLTIwOS41NzIgNDMuNDY4NiAtMjEyLjEyOCA0NC4xODU3IC0yMTQuNTRDNTMuMDI1NSAtMjI5LjM3NyA2Mi44MyAtMjM3Ljk5NSA3My42Mzg1IC0yNDAuNDMzQzg0LjM5NDggLTI0Mi44NzEgOTguMTM2OSAtMjM5LjgyMSAxMTQuODEyIC0yMzEuMzJDMTI3Ljk0MiAtMjI1LjYwOSAxMzMuMzkyIC0yMTYuMTA1IDEzMS4xNDkgLTIwMi43OTNDMTMwLjE3MSAtMTkwLjgzNyAxMjcuOTk0IC0xNzkuMjU5IDEyNC42MTcgLTE2OC4wMkMxMjAuMDQxIC0xNTIuNzc5IDExNS40MzggLTEzNy41NTEgMTEwLjg0OSAtMTIyLjMyMkMxMDYuMjczIC0xMDcuMDgxIDEwMS4yNzkgLTkxLjk2OTkgOTUuODk0MyAtNzcuMDAyM0M4NS41OTQzIC00OC42MDU3IDc5LjQyNzQgLTE5LjQyNjcgNzcuNDA2NSAxMC41NjA2Qzc3LjcxOTQgMTIuNDEyIDc4LjA0NTMgMTQuMjYzNSA3OC4zNTgzIDE2LjA4ODhDNzguNjcxMiAxNy45NDAyIDc5LjI3MDkgMjAuMyA4MC4xNzA1IDIzLjE5NDRNMTEwLjkxNCAtMjk2Ljc1N0MxMDkuNTQ1IC0yOTguMDM1IDEwNy4zMTYgLTI5OS4zNTIgMTA0LjIzOSAtMzAwLjczNEMxMDEuMTYyIC0zMDIuMDkgOTguMjQxMiAtMzA0LjA1OSA5NS41NDIzIC0zMDYuNjI3QzkwLjA3OTQgLTMxMS43NzcgODYuOTc2MyAtMzE4LjE2NiA4Ni4yMzMyIC0zMjUuODE5Qzg1LjQ2NCAtMzMzLjQ3MiA4Ny4zODA1IC0zNDAuNTUyIDkxLjk2OTkgLTM0Ny4wNThDOTMuMjIxNSAtMzQ4LjQxNCA5NC4xNDcyIC0zNDkuMjM1IDk0LjY4MTggLTM0OS41MjJDOTUuMTkwMyAtMzQ5Ljc5NiA5Ni4xMDI5IC0zNTAuNjA0IDk3LjM5MzcgLTM1MS45OTlDMTA5LjY3NSAtMzU3LjkwNiAxMjIuNDE0IC0zNTYuNjkzIDEzNS42MzQgLTM0OC4zMzZDMTQ2Ljk1MSAtMzQyLjMyNSAxNTIuMDg4IC0zMzMuMzE2IDE1MS4xMzYgLTMyMS4zNkwxNDguMjI5IC0zMTEuNzM4QzE0NC42NjkgLTI5Ny4wNyAxMzUuNTY5IC0yOTEuNTAzIDEyMC45MTQgLTI5NS4wNjJDMTE5LjA1IC0yOTQuNzIzIDExNS43MzggLTI5NS4yOTcgMTEwLjkxNCAtMjk2Ljc0NCIgZmlsbD0iI0Y1RjVGNyIvPgo8cGF0aCBkPSJNMjQyLjc2NyAyMTUuNTE4QzI0NS4wODggMjEzLjU4OCAyNDcuMjc4IDIxMi4xMDIgMjQ5LjM3NyAyMTAuOTY4QzI1MS40NSAyMDkuODU5IDI1My41MzYgMjA4Ljc1MSAyNTUuNjIyIDIwNy42MDRDMjc0LjIyNyAxOTIuMjg0IDI5MC41NzcgMTc3LjE2IDMwNC43MjMgMTYyLjE5M0MzMTUuNjg4IDE0OC45NDYgMzI2LjYxNCAxMzUuODU2IDMzNy40ODggMTIyLjk4N0MzNDguMzYxIDExMC4xMTkgMzU4Ljg4MyA5Ni45Mzc1IDM2OS4wNjYgODMuNDE3MUMzNzYuNDQ1IDczLjQzMDEgMzg0LjU4MSA2My44NjAyIDM5My40NDcgNTQuNzQ2NkM0MDIuMyA0NS42NDYxIDQxMC44MjYgMzYuMjMyNyA0MTkuMDAxIDI2LjQ4MDNDNDIxLjgwNCAyMi45NzMxIDQyNC4yMjkgMjAuMDAwNCA0MjYuMjg5IDE3LjU0OTNDNDI4LjMyMyAxNS4xMjQzIDQzMC41MDEgMTIuOTMzOCA0MzIuODM1IDExLjAxNzNDNDM0LjkwOCA5LjkwOTA2IDQzNi43NDYgOS41ODMwMSA0MzguMzYzIDEwLjA2NTRDNDM5Ljk1MyAxMC41NDc5IDQ0MS43OTIgMTAuMjQ4IDQ0My45MDQgOS4xMTM3MUM0NDMuMTg3IDExLjUxMjcgNDQyLjgyMiAxMy4zOTAzIDQ0Mi44ODcgMTQuNjk0QzQ0Mi45MjYgMTYuMDIzOSA0NDIuMjg3IDE3LjM2NjggNDQxLjAwOSAxOC43MjI3QzQyNC42NDcgNDYuOTYzIDQwNy42ODQgNzIuODE3MyAzOTAuMTIyIDk2LjMxMTdDMzc2LjY0MSAxMTQuOTU2IDM2My4xNDcgMTMyLjkwOSAzNDkuNjM5IDE1MC4yMjRDMzM2LjEwNiAxNjcuNTI1IDMyMi4yMiAxODUuMzYxIDMwNy45NDQgMjAzLjc1OEMzMDEuNTI5IDIxMC41MzcgMjk1LjM4OCAyMTcuMiAyODkuNDk1IDIyMy43MTlDMjgzLjU4OSAyMzAuMjI1IDI3Ny40MzUgMjM2LjkgMjcxLjAyIDI0My42NjdDMjU4LjkyMSAyNTQuODggMjQ0LjQ4OCAyNTkuMjM0IDIyNy43MzQgMjU2Ljc5NkMxOTYuODYgMjUxLjg4MSAxNzYuMDI1IDIzNi44NzQgMTY1LjIxNyAyMTEuNzg5QzE1NC42OTUgMTg4LjU2OCAxNDkuNTMyIDE2Ni41MDggMTQ5LjcwMiAxNDUuNjA4QzE0Ny45NDIgMTEzLjY3OCAxNDguMzA3IDgxLjk0MzggMTUwLjgxIDUwLjQxOEMxNTMuMyAxOC44NzkyIDE1OC4zMiAtMTIuMzIwNyAxNjUuODY5IC00My4yMDc3QzE4MC4xNzIgLTEwNS4yMDMgMTk4LjU2OCAtMTY2LjQwMyAyMjEuMTExIC0yMjYuODA4QzIzMi4wODkgLTI1Ny41MjYgMjQ0LjQyMyAtMjg3LjYxOCAyNTguMSAtMzE3LjA5NkMyNzEuNzc2IC0zNDYuNTc1IDI4Ni4zNzkgLTM3NS41MDcgMzAxLjk3MiAtNDA0LjAwOEMzMTIuOTUgLTQyNS45OSAzMjQuNjMyIC00NDcuMzQ2IDMzNi45NzkgLTQ2OC4wNjNDMzQ5LjMxMyAtNDg4Ljc1NCAzNjIuNDk1IC01MDkuMjI0IDM3Ni40MzIgLTUyOS40NTlDNDAzLjg2NCAtNTY4LjI5OSA0MzQuMTkgLTYwMy42NzEgNDY3LjM5OCAtNjM1LjU3NUM0NzUuNjM4IC02NDIuNjgxIDQ4My45OTUgLTY0OS4zMTcgNDkyLjQwNSAtNjU1LjUxQzUwMC44MjggLTY2MS42NzcgNTEwLjM5NyAtNjY2LjY1OCA1MjEuMTU0IC02NzAuMzk5QzU0NS4yNzQgLTY3Ny45NjEgNTY3LjcxMiAtNjc2Ljg3OSA1ODguMzkxIC02NjcuMTY2QzYwNC43MjcgLTY2MC40NzggNjEzLjY3MSAtNjQ5LjUxMyA2MTUuMjEgLTYzNC4yMTlDNjE3LjU5NiAtNjI0Ljc1NCA2MTguMTk1IC02MTMuNjcxIDYxNi45ODMgLTYwMC45NTlDNjEwLjMyIC01NTguNDgxIDU5Ny44NTYgLTUxNS41MzQgNTc5LjU1MSAtNDcyLjE5NkM1NjUuNDMxIC00MzkuODIzIDU0OS4wODEgLTQwOC43NTMgNTMwLjUyOCAtMzc5LjAwMUM1MTEuOTM2IC0zNDkuMjYxIDQ5Mi42MTQgLTMxOS45NTIgNDcyLjYgLTI5MS4wOTlDNDY1LjQ1NiAtMjgxLjkyIDQ1Ny45NDYgLTI3MS41MDMgNDUwLjEyMyAtMjU5LjkxMkM0MzMuNTc4IC0yMzYuOTc4IDQxNS42MzcgLTIxNS4xMjYgMzk2LjI4OSAtMTk0LjM1N0MzNzYuOTAyIC0xNzMuNTYxIDM1NS44NDUgLTE1NC4zOTYgMzMzLjA2OCAtMTM2LjgyQzMyMC4zODIgLTEyNi42OSAzMTIuNTMzIC0xMTUuMDg2IDMwOS40ODIgLTEwMi4wNDhDMzA0LjE4OSAtODQuNDQ2OCAyOTguOTc0IC02Ny4wNDExIDI5My43OTggLTQ5Ljg0NEMyODguNjIxIC0zMi42NDY5IDI4My43NzEgLTE1LjExMDggMjc5LjI4NiAyLjcxMjFDMjc1LjI3MSAxOC45NzA1IDI3MS4zMDcgMzQuOTgxIDI2Ny40MjIgNTAuODM1MkMyNjMuNTIzIDY2LjY2MzMgMjU5Ljk2NCA4Mi44NDM0IDI1Ni43NyA5OS4zMzY1QzI1My41NDkgMTE1LjgwMyAyNTAuNjgxIDEzMi42MjIgMjQ4LjE1MiAxNDkuNzQxQzI0NS42MDkgMTY2Ljg2IDI0My4xMzIgMTgzLjc5NyAyNDAuNzQ2IDIwMC40OThDMjQxLjA0NiAyMDIuMzM3IDI0MS4zMDcgMjA0LjM5NiAyNDEuNTE1IDIwNi42MTNDMjQxLjY5OCAyMDguODY4IDI0Mi4xMjggMjExLjg0MSAyNDIuNzggMjE1LjUxOE01NjQuMzIyIC02MjIuMDgxQzU2MS43MjggLTYxOS4zNDMgNTU4LjExNiAtNjE2LjA4MyA1NTMuNDg4IC02MTIuMjM3QzU0Mi4yMzYgLTU5OC4xNjkgNTMwLjk1OCAtNTgzLjkwNiA1MTkuNjI4IC01NjkuNDU5QzUwOC4yNTkgLTU1NC45ODcgNDk4LjA1IC01MzkuOTQxIDQ4OS4wMTUgLTUyNC4zNzRDNDU5LjIzNiAtNDc0Ljg2OSA0MzIuNzY5IC00MjMuOTU2IDQwOS42MDEgLTM3MS42MDhDMzg2LjQxOSAtMzE5LjI0OCAzNjUuMTkzIC0yNjUuNDQgMzQ1LjkzNiAtMjEwLjE3MkMzNDUuNzAyIC0yMDkuMzc3IDM0NS43MDIgLTIwOC43MTIgMzQ2LjAxNSAtMjA4LjE5QzM0Ni4yNjIgLTIwNy42NTYgMzQ2LjE4NCAtMjA2LjU4NyAzNDUuNzE1IC0yMDUuMDA5QzM0OS4zNzggLTIwNS42MjIgMzUxLjM2IC0yMDYuMzM5IDM1MS42MDggLTIwNy4xNDdDMzU1LjQ2NyAtMjExLjIxNSAzNTkuNTA5IC0yMTUuMjMxIDM2My43NDYgLTIxOS4xOTRDMzY3Ljk5NyAtMjIzLjE0NSAzNzEuNzY1IC0yMjcuNjgyIDM3NS4wNzYgLTIzMi44MTlDNDAyLjg4NiAtMjY3LjE2MSA0MjguNzE0IC0zMDIuMTQyIDQ1Mi41MzUgLTMzNy43MzZDNDc2LjM2OCAtMzczLjMwMyA0OTguNTMzIC00MTAuNjk2IDUxOS4wNjggLTQ0OS44ODhDNTQzLjg1MyAtNDk3LjM3MiA1NTkuNTc3IC01NDYuNzM0IDU2Ni4yNTIgLTU5Ny45MzRDNTY2LjY0MyAtNjAyLjE4NSA1NjYuOTE3IC02MDYuMDE4IDU2Ny4xIC02MDkuNDZDNTY3LjI0MyAtNjEyLjkwMiA1NjYuMzE3IC02MTcuMSA1NjQuMzM2IC02MjIuMDgxIiBmaWxsPSIjRjVGNUY3Ii8+CjxwYXRoIGQ9Ik02OTYuNTE1IDE4OS4wNjRDNzA0LjYzOCAxODQuMzk2IDcxMi42ODIgMTc5LjYxMSA3MjAuNjg4IDE3NC43MzVWMTM0LjA1N0M2OTcuODE5IDE0OC41MDMgNjczLjgwMyAxNTkuNjM3IDY0OC42MDEgMTY3LjQyMUM2MjIuMDgyIDE3NS42MzUgNTk0LjU1OCAxODAuNjY3IDU2Ni4wMTggMTgyLjU1OEM1NTAuOTIgMTgzLjI2MiA1NDEuMjk4IDE4MS44OTMgNTM3LjEgMTc4LjQzOEM1MzIuODc2IDE3NS4wMDkgNTI5LjA5NSAxNjUuNzUyIDUyNS43NTcgMTUwLjc0NUw1MjMuOTU4IDEzMC41NDlDNTIzLjMzMiAxMTguMTI0IDUyNC43NjYgMTA2Ljc1NSA1MjguMzM5IDk2LjQyODlDNTMxLjg1OSA4Ni4xNTUgNTM2LjEyMiA3NS42MjAzIDU0MS4xMTYgNjQuODc3QzU0NS42MTQgNjQuNDg1OSA1NDkuNTY0IDY0LjM2ODUgNTUzLjAzMiA2NC41MzhDNTU2LjQ3NSA2NC42OTQ1IDU2MC40MzggNjQuNTc3MSA1NjQuOTQ5IDY0LjE3MjlDNTg1Ljg3NSA2NC4zNjg1IDYwNy42MzYgNjEuNzQ3OSA2MzAuMjY5IDU2LjI4NDlDNjUyLjA4MiA1MC42MjY1IDY3MC40IDQxLjI3ODIgNjg1LjI3NyAyOC4yNTMzQzY5NC45MzggMTkuNzc4NiA3MDQuMDI1IDEwLjM3ODMgNzEyLjU2NSAwLjA5MTMwODZINjM5LjUyNkM2MjAuMjU2IDE2Ljk4ODUgNTk2Ljk0NCAyNy40ODQxIDU2OS41MzkgMzEuNDYwN0M1NjcuNjYxIDMxLjc3MzYgNTY2LjM1NyAzMS44MTI3IDU2NS41NzUgMzEuNTY1QzU2NC43NTQgMzEuMzMwMyA1NjMuODI4IDMxLjUxMjggNTYyLjgxMSAzMi4wNDc0QzU2MS45OSAzMS44MTI3IDU2MS42NTEgMzEuNDk5OCA1NjEuNzgxIDMxLjA4MjZDNTYxLjg5OCAzMC42OTE1IDU2MS41NDYgMzAuMzY1NSA1NjAuNzUxIDMwLjEzMDhDNTYwLjk5OSAyOS4zMzU1IDU2MC45MDcgMjguODY2MSA1NjAuNTE2IDI4Ljc2MThDNTYwLjA5OSAyOC42MTg0IDU2MC4wMzQgMjguMTYyIDU2MC4yOTUgMjcuMzUzN0M1NjUuMzc5IDE4LjE3NDkgNTcwLjc3NyA5LjEwMDU1IDU3Ni40MzYgMC4wOTEzMDg2SDQzMC4xNzZDNDI0LjIwNCAxMi42NzMgNDE5LjA1NCAyNS45NDU2IDQxNC44MyAzOS45ODc1QzQwNi40NzMgNjEuOTU2NSA0MDQuMjgyIDgyLjI2OTcgNDA4LjI4NSAxMDAuOTY2QzQxMi4wMTQgMTIwLjQ1OCA0MTguODMzIDEzOC40NjMgNDI4LjcyOCAxNTQuOTgyQzQzOC42MTEgMTcxLjUyOCA0NTIuNDU4IDE4NS4wODcgNDcwLjI1NCAxOTUuN0M0OTAuNzM3IDIwOC44ODEgNTEyLjE0NSAyMTcuNzIxIDUzNC40MDEgMjIyLjI0NUM1NTYuNjQ0IDIyNi43NTcgNTc5Ljg2NSAyMjYuNTA5IDYwNC4xMTUgMjIxLjU2N0M2MDkuNjQzIDIyMC42MTYgNjE1LjI2MyAyMTkuNDY4IDYyMC45MjEgMjE4LjA5OUM2MjYuNTY3IDIxNi43NTYgNjMyLjI3NyAyMTUuMTkyIDYzOC4wNTMgMjEzLjQxOUM2NTkuMDU3IDIwNy41MjUgNjc4LjU2MiAxOTkuMzkgNjk2LjU0MSAxODkuMDc3IiBmaWxsPSIjRjVGNUY3Ii8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDBfMjgyMF82OTk5MSI+CjxyZWN0IHdpZHRoPSI3MjEiIGhlaWdodD0iMjU2Ljg0OCIgZmlsbD0id2hpdGUiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K\");background-repeat:no-repeat}@media (min-width: 48em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .background-mask*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .background-mask.sc-duet-hero{left:181px}}/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero{top:-185px;right:0;left:0;width:485px;height:485px;margin:0 auto;border-radius:0;transform:none;-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E\");-webkit-mask-repeat:no-repeat;mask-image:url(\"data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E\");mask-repeat:no-repeat}@media (min-width: 36em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero{right:0}}@media (min-width: 48em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero{top:-165px;right:0}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image.narrow*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.narrow.sc-duet-hero{right:40%;left:auto}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image:not(.narrow)*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero:not(.narrow){top:-230px;right:-180px;left:auto;width:675px;height:675px;margin:0}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image:not(.narrow)*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero:not(.narrow){right:-120px;width:736px}}/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image .brand-shaped-image-bg*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero .brand-shaped-image-bg.sc-duet-hero{width:600px;height:320px;transform:translate(-50%, 0)}@media (min-width: 48em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image .brand-shaped-image-bg*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero .brand-shaped-image-bg.sc-duet-hero{width:600px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image .brand-shaped-image-bg:not(.narrow)*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero .brand-shaped-image-bg.sc-duet-hero:not(.narrow){width:800px;height:470px}}/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-icon*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.sc-duet-hero{top:175px;background:rgba(198, 12, 48, 0.9);-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E\");-webkit-mask-repeat:no-repeat;mask-image:url(\"data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E\");mask-repeat:no-repeat;transform:rotate(0deg)}/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-icon duet-icon*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.sc-duet-hero duet-icon.sc-duet-hero{position:relative;top:-10px;transform:rotate(0deg)}@media (min-width: 48em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-icon duet-icon*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.sc-duet-hero duet-icon.sc-duet-hero{top:-10px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-icon duet-icon*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.sc-duet-hero duet-icon.sc-duet-hero{top:-15px}}@media (min-width: 48em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-icon*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.sc-duet-hero{top:180px;right:20%}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-icon*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.sc-duet-hero{top:292px}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-icon*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.sc-duet-hero{top:292px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-icon.narrow*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.narrow.sc-duet-hero{top:192px;right:35%}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-icon.narrow*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.narrow.sc-duet-hero{top:192px;right:40%}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-icon:not(.narrow)*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.sc-duet-hero:not(.narrow){right:340px}}/*!@.duet-hero.duet-hero-content*/.duet-hero.duet-hero-content.sc-duet-hero{padding:0 0 48px;padding-top:236px;background:rgb(255, 255, 255)}@media (min-width: 48em){/*!@.duet-hero.duet-hero-content*/.duet-hero.duet-hero-content.sc-duet-hero{padding-top:384px}}/*!@.duet-hero.duet-hero-content:not(.duet-hero-has-image)*/.duet-hero.duet-hero-content.sc-duet-hero:not(.duet-hero-has-image){padding:72px 0 48px}/*!@.duet-hero.duet-hero-content .background-area*/.duet-hero.duet-hero-content.sc-duet-hero .background-area.sc-duet-hero{position:absolute;width:100%}/*!@.duet-hero.duet-hero-content .background*/.duet-hero.duet-hero-content.sc-duet-hero .background.sc-duet-hero{position:absolute;top:-236px;width:100%;height:600px;overflow:hidden}/*!@.duet-hero.duet-hero-content .background .background-mask*/.duet-hero.duet-hero-content.sc-duet-hero .background.sc-duet-hero .background-mask.sc-duet-hero{display:none}@media (min-width: 48em){/*!@.duet-hero.duet-hero-content .background*/.duet-hero.duet-hero-content.sc-duet-hero .background.sc-duet-hero{top:-384px}}/*!@.duet-hero.duet-hero-content .background .brand-shaped-image*/.duet-hero.duet-hero-content.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero{position:absolute;top:-165px;right:0;left:30px;z-index:0;width:375px;height:375px;margin:0 auto;overflow:hidden;border-radius:20%;transform:rotate(7deg)}@media (min-width: 48em){/*!@.duet-hero.duet-hero-content .background .brand-shaped-image*/.duet-hero.duet-hero-content.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero{top:-325px;left:250px;width:687px;height:687px}}/*!@.duet-hero.duet-hero-content .background .brand-shaped-image .brand-shaped-image-wrapper*/.duet-hero.duet-hero-content.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero .brand-shaped-image-wrapper.sc-duet-hero{position:relative;width:100%;height:100%}/*!@.duet-hero.duet-hero-content .background .brand-shaped-image .brand-shaped-image-bg*/.duet-hero.duet-hero-content.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero .brand-shaped-image-bg.sc-duet-hero{position:absolute;bottom:0;left:50%;z-index:1;width:600px;height:256px;background-repeat:no-repeat;background-size:100%;transform:rotate(-7deg) translate(-50%, 0)}@media (min-width: 48em){/*!@.duet-hero.duet-hero-content .background .brand-shaped-image .brand-shaped-image-bg*/.duet-hero.duet-hero-content.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero .brand-shaped-image-bg.sc-duet-hero{width:733px;height:413px}}/*!@.duet-hero.duet-hero-content .background .brand-shape*/.duet-hero.duet-hero-content.sc-duet-hero .background.sc-duet-hero .brand-shape.sc-duet-hero{position:absolute;top:-25px;right:0;left:-300px;width:240px;height:240px;margin-right:auto;margin-left:auto;background:rgb(0, 119, 179);border-radius:20%;mix-blend-mode:normal;opacity:0.07;transform:rotate(7deg)}@media (min-width: 48em){/*!@.duet-hero.duet-hero-content .background .brand-shape*/.duet-hero.duet-hero-content.sc-duet-hero .background.sc-duet-hero .brand-shape.sc-duet-hero{top:80px;left:-400px;width:373px;height:373px}}/*!@.duet-hero.duet-hero-content .duet-hero-wrapper*/.duet-hero.duet-hero-content.sc-duet-hero .duet-hero-wrapper.sc-duet-hero{max-width:100%;margin:0 auto}/*!@.duet-hero.duet-hero-content .duet-hero-wrapper.fluid, .duet-hero.duet-hero-content .duet-hero-wrapper.narrow*/.duet-hero.duet-hero-content.sc-duet-hero .duet-hero-wrapper.fluid.sc-duet-hero,.duet-hero.duet-hero-content.sc-duet-hero .duet-hero-wrapper.narrow.sc-duet-hero{padding:0 16px}@media (min-width: 36em){/*!@.duet-hero.duet-hero-content .duet-hero-wrapper.fluid*/.duet-hero.duet-hero-content.sc-duet-hero .duet-hero-wrapper.fluid.sc-duet-hero{padding:0 28px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-content .duet-hero-wrapper.fluid*/.duet-hero.duet-hero-content.sc-duet-hero .duet-hero-wrapper.fluid.sc-duet-hero{padding:0 56px}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-content .duet-hero-wrapper.fluid*/.duet-hero.duet-hero-content.sc-duet-hero .duet-hero-wrapper.fluid.sc-duet-hero{max-width:1110px;padding:0}}/*!@.duet-hero.duet-hero-content .duet-hero-wrapper.narrow*/.duet-hero.duet-hero-content.sc-duet-hero .duet-hero-wrapper.narrow.sc-duet-hero{max-width:888px}@media (min-width: 36em){/*!@.duet-hero.duet-hero-content .duet-hero-wrapper.narrow*/.duet-hero.duet-hero-content.sc-duet-hero .duet-hero-wrapper.narrow.sc-duet-hero{padding:0 48px}}@media (min-width: 48em){/*!@.duet-hero.duet-hero-content .duet-hero-wrapper.narrow*/.duet-hero.duet-hero-content.sc-duet-hero .duet-hero-wrapper.narrow.sc-duet-hero{padding:0 72px}}/*!@.duet-hero.duet-hero-content .duet-hero-text*/.duet-hero.duet-hero-content.sc-duet-hero .duet-hero-text.sc-duet-hero{max-width:100%}@media (min-width: 62em){/*!@.duet-hero.duet-hero-content .duet-hero-text*/.duet-hero.duet-hero-content.sc-duet-hero .duet-hero-text.sc-duet-hero{width:80%}}/*!@.duet-hero.duet-hero-content .duet-hero-text .duet-hero-pre*/.duet-hero.duet-hero-content.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-pre.sc-duet-hero{margin-top:1rem;margin-bottom:0.5rem}@media (min-width: 62em){/*!@.duet-hero.duet-hero-content .duet-hero-text .duet-hero-pre*/.duet-hero.duet-hero-content.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-pre.sc-duet-hero{margin-top:1.5rem;margin-bottom:0}}/*!@.duet-hero.duet-hero-content.duet-theme-turva*/.duet-hero.duet-hero-content.duet-theme-turva.sc-duet-hero{background:rgb(255, 255, 255)}/*!@.duet-hero.duet-hero-content.duet-theme-turva .background-mask*/.duet-hero.duet-hero-content.duet-theme-turva.sc-duet-hero .background-mask.sc-duet-hero{position:absolute;top:0;left:0;display:block;width:721px;height:256.85px;background-image:url(\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzIxIiBoZWlnaHQ9IjI1NyIgdmlld0JveD0iMCAwIDcyMSAyNTciIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8yODIwXzY5OTkxKSI+CjxwYXRoIGQ9Ik04MC4xNzA1IDIzLjE4MTVDOTEuOTY5OSAxOC44NjU5IDEwMi44NyAxMS42NTU5IDExMi45MDkgMS41NjQ0OEMxMjMuNzcgLTguMzA1MjcgMTM0LjM4MiAtMTguMjAxMSAxNDQuODI2IC0yOC4xODgyQzE1NS4yNDMgLTM4LjE2MjIgMTY1LjkwOCAtNDguMDg0MSAxNzYuNzQzIC01Ny45Mjc4QzE3OC44MTYgLTU5LjA0OSAxODAuNDk4IC02MC4yODc3IDE4MS43ODggLTYxLjY1NjdDMTgzLjA2NiAtNjMuMDEyNiAxODUuNDY1IC02Mi4yODI1IDE4OS4wMTIgLTU5LjQ3OTNDMTg0LjczNSAtNTEuMTM1IDE4MC43NTkgLTQyLjk2MDIgMTc3LjAxNyAtMzQuOTAyN0MxNzMuMjg4IC0yNi44NDUyIDE2Ny42ODEgLTE5LjEyNjggMTYwLjIxMSAtMTEuNzYwM0MxNTIuNzUzIC00LjM4MDgzIDE0NC45NTYgMy4zMTE1MiAxMzYuODQ3IDExLjM2OUMxMjguNzI0IDE5LjQyNjUgMTIwLjk2NiAyNy4xNDUgMTEzLjQ4MyAzNC40OTg0Qzk3LjQ5OCA0OS44MTggNzkuNjYyIDU2LjAyNDEgNjAuMDAwOCA1My4xNjg4QzQwLjI4NzQgNTAuMzEzNSAyNS41NDE0IDM5LjA3NDcgMTUuNjk3NyAxOS40Nzg2QzMuOTI0NDUgLTIuMzcyOTkgLTEuMjI1NTUgLTI0LjQ3MjQgMC4yNDc3NDMgLTQ2Ljc4MDNDMS4yNTE2NyAtNjcuNDg0NiAzLjQwMjkzIC04Ny43OTc4IDYuODA1ODQgLTEwNy43NzJDMTAuMTk1NyAtMTI3LjczMyAxNS43MTA4IC0xNDcuNDg2IDIzLjMzOCAtMTY3LjA0M0MyNi4zMTA3IC0xNzQuMDMxIDI5LjAwOTUgLTE4MC44NSAzMS40NzM3IC0xODcuNTY0QzMzLjkxMTggLTE5NC4yMjcgMzYuNTMyNCAtMjAwLjY2OCAzOS4yNTc0IC0yMDYuODQ4QzQxLjgxMjggLTIwOS41NzIgNDMuNDY4NiAtMjEyLjEyOCA0NC4xODU3IC0yMTQuNTRDNTMuMDI1NSAtMjI5LjM3NyA2Mi44MyAtMjM3Ljk5NSA3My42Mzg1IC0yNDAuNDMzQzg0LjM5NDggLTI0Mi44NzEgOTguMTM2OSAtMjM5LjgyMSAxMTQuODEyIC0yMzEuMzJDMTI3Ljk0MiAtMjI1LjYwOSAxMzMuMzkyIC0yMTYuMTA1IDEzMS4xNDkgLTIwMi43OTNDMTMwLjE3MSAtMTkwLjgzNyAxMjcuOTk0IC0xNzkuMjU5IDEyNC42MTcgLTE2OC4wMkMxMjAuMDQxIC0xNTIuNzc5IDExNS40MzggLTEzNy41NTEgMTEwLjg0OSAtMTIyLjMyMkMxMDYuMjczIC0xMDcuMDgxIDEwMS4yNzkgLTkxLjk2OTkgOTUuODk0MyAtNzcuMDAyM0M4NS41OTQzIC00OC42MDU3IDc5LjQyNzQgLTE5LjQyNjcgNzcuNDA2NSAxMC41NjA2Qzc3LjcxOTQgMTIuNDEyIDc4LjA0NTMgMTQuMjYzNSA3OC4zNTgzIDE2LjA4ODhDNzguNjcxMiAxNy45NDAyIDc5LjI3MDkgMjAuMyA4MC4xNzA1IDIzLjE5NDRNMTEwLjkxNCAtMjk2Ljc1N0MxMDkuNTQ1IC0yOTguMDM1IDEwNy4zMTYgLTI5OS4zNTIgMTA0LjIzOSAtMzAwLjczNEMxMDEuMTYyIC0zMDIuMDkgOTguMjQxMiAtMzA0LjA1OSA5NS41NDIzIC0zMDYuNjI3QzkwLjA3OTQgLTMxMS43NzcgODYuOTc2MyAtMzE4LjE2NiA4Ni4yMzMyIC0zMjUuODE5Qzg1LjQ2NCAtMzMzLjQ3MiA4Ny4zODA1IC0zNDAuNTUyIDkxLjk2OTkgLTM0Ny4wNThDOTMuMjIxNSAtMzQ4LjQxNCA5NC4xNDcyIC0zNDkuMjM1IDk0LjY4MTggLTM0OS41MjJDOTUuMTkwMyAtMzQ5Ljc5NiA5Ni4xMDI5IC0zNTAuNjA0IDk3LjM5MzcgLTM1MS45OTlDMTA5LjY3NSAtMzU3LjkwNiAxMjIuNDE0IC0zNTYuNjkzIDEzNS42MzQgLTM0OC4zMzZDMTQ2Ljk1MSAtMzQyLjMyNSAxNTIuMDg4IC0zMzMuMzE2IDE1MS4xMzYgLTMyMS4zNkwxNDguMjI5IC0zMTEuNzM4QzE0NC42NjkgLTI5Ny4wNyAxMzUuNTY5IC0yOTEuNTAzIDEyMC45MTQgLTI5NS4wNjJDMTE5LjA1IC0yOTQuNzIzIDExNS43MzggLTI5NS4yOTcgMTEwLjkxNCAtMjk2Ljc0NCIgZmlsbD0iI0Y1RjVGNyIvPgo8cGF0aCBkPSJNMjQyLjc2NyAyMTUuNTE4QzI0NS4wODggMjEzLjU4OCAyNDcuMjc4IDIxMi4xMDIgMjQ5LjM3NyAyMTAuOTY4QzI1MS40NSAyMDkuODU5IDI1My41MzYgMjA4Ljc1MSAyNTUuNjIyIDIwNy42MDRDMjc0LjIyNyAxOTIuMjg0IDI5MC41NzcgMTc3LjE2IDMwNC43MjMgMTYyLjE5M0MzMTUuNjg4IDE0OC45NDYgMzI2LjYxNCAxMzUuODU2IDMzNy40ODggMTIyLjk4N0MzNDguMzYxIDExMC4xMTkgMzU4Ljg4MyA5Ni45Mzc1IDM2OS4wNjYgODMuNDE3MUMzNzYuNDQ1IDczLjQzMDEgMzg0LjU4MSA2My44NjAyIDM5My40NDcgNTQuNzQ2NkM0MDIuMyA0NS42NDYxIDQxMC44MjYgMzYuMjMyNyA0MTkuMDAxIDI2LjQ4MDNDNDIxLjgwNCAyMi45NzMxIDQyNC4yMjkgMjAuMDAwNCA0MjYuMjg5IDE3LjU0OTNDNDI4LjMyMyAxNS4xMjQzIDQzMC41MDEgMTIuOTMzOCA0MzIuODM1IDExLjAxNzNDNDM0LjkwOCA5LjkwOTA2IDQzNi43NDYgOS41ODMwMSA0MzguMzYzIDEwLjA2NTRDNDM5Ljk1MyAxMC41NDc5IDQ0MS43OTIgMTAuMjQ4IDQ0My45MDQgOS4xMTM3MUM0NDMuMTg3IDExLjUxMjcgNDQyLjgyMiAxMy4zOTAzIDQ0Mi44ODcgMTQuNjk0QzQ0Mi45MjYgMTYuMDIzOSA0NDIuMjg3IDE3LjM2NjggNDQxLjAwOSAxOC43MjI3QzQyNC42NDcgNDYuOTYzIDQwNy42ODQgNzIuODE3MyAzOTAuMTIyIDk2LjMxMTdDMzc2LjY0MSAxMTQuOTU2IDM2My4xNDcgMTMyLjkwOSAzNDkuNjM5IDE1MC4yMjRDMzM2LjEwNiAxNjcuNTI1IDMyMi4yMiAxODUuMzYxIDMwNy45NDQgMjAzLjc1OEMzMDEuNTI5IDIxMC41MzcgMjk1LjM4OCAyMTcuMiAyODkuNDk1IDIyMy43MTlDMjgzLjU4OSAyMzAuMjI1IDI3Ny40MzUgMjM2LjkgMjcxLjAyIDI0My42NjdDMjU4LjkyMSAyNTQuODggMjQ0LjQ4OCAyNTkuMjM0IDIyNy43MzQgMjU2Ljc5NkMxOTYuODYgMjUxLjg4MSAxNzYuMDI1IDIzNi44NzQgMTY1LjIxNyAyMTEuNzg5QzE1NC42OTUgMTg4LjU2OCAxNDkuNTMyIDE2Ni41MDggMTQ5LjcwMiAxNDUuNjA4QzE0Ny45NDIgMTEzLjY3OCAxNDguMzA3IDgxLjk0MzggMTUwLjgxIDUwLjQxOEMxNTMuMyAxOC44NzkyIDE1OC4zMiAtMTIuMzIwNyAxNjUuODY5IC00My4yMDc3QzE4MC4xNzIgLTEwNS4yMDMgMTk4LjU2OCAtMTY2LjQwMyAyMjEuMTExIC0yMjYuODA4QzIzMi4wODkgLTI1Ny41MjYgMjQ0LjQyMyAtMjg3LjYxOCAyNTguMSAtMzE3LjA5NkMyNzEuNzc2IC0zNDYuNTc1IDI4Ni4zNzkgLTM3NS41MDcgMzAxLjk3MiAtNDA0LjAwOEMzMTIuOTUgLTQyNS45OSAzMjQuNjMyIC00NDcuMzQ2IDMzNi45NzkgLTQ2OC4wNjNDMzQ5LjMxMyAtNDg4Ljc1NCAzNjIuNDk1IC01MDkuMjI0IDM3Ni40MzIgLTUyOS40NTlDNDAzLjg2NCAtNTY4LjI5OSA0MzQuMTkgLTYwMy42NzEgNDY3LjM5OCAtNjM1LjU3NUM0NzUuNjM4IC02NDIuNjgxIDQ4My45OTUgLTY0OS4zMTcgNDkyLjQwNSAtNjU1LjUxQzUwMC44MjggLTY2MS42NzcgNTEwLjM5NyAtNjY2LjY1OCA1MjEuMTU0IC02NzAuMzk5QzU0NS4yNzQgLTY3Ny45NjEgNTY3LjcxMiAtNjc2Ljg3OSA1ODguMzkxIC02NjcuMTY2QzYwNC43MjcgLTY2MC40NzggNjEzLjY3MSAtNjQ5LjUxMyA2MTUuMjEgLTYzNC4yMTlDNjE3LjU5NiAtNjI0Ljc1NCA2MTguMTk1IC02MTMuNjcxIDYxNi45ODMgLTYwMC45NTlDNjEwLjMyIC01NTguNDgxIDU5Ny44NTYgLTUxNS41MzQgNTc5LjU1MSAtNDcyLjE5NkM1NjUuNDMxIC00MzkuODIzIDU0OS4wODEgLTQwOC43NTMgNTMwLjUyOCAtMzc5LjAwMUM1MTEuOTM2IC0zNDkuMjYxIDQ5Mi42MTQgLTMxOS45NTIgNDcyLjYgLTI5MS4wOTlDNDY1LjQ1NiAtMjgxLjkyIDQ1Ny45NDYgLTI3MS41MDMgNDUwLjEyMyAtMjU5LjkxMkM0MzMuNTc4IC0yMzYuOTc4IDQxNS42MzcgLTIxNS4xMjYgMzk2LjI4OSAtMTk0LjM1N0MzNzYuOTAyIC0xNzMuNTYxIDM1NS44NDUgLTE1NC4zOTYgMzMzLjA2OCAtMTM2LjgyQzMyMC4zODIgLTEyNi42OSAzMTIuNTMzIC0xMTUuMDg2IDMwOS40ODIgLTEwMi4wNDhDMzA0LjE4OSAtODQuNDQ2OCAyOTguOTc0IC02Ny4wNDExIDI5My43OTggLTQ5Ljg0NEMyODguNjIxIC0zMi42NDY5IDI4My43NzEgLTE1LjExMDggMjc5LjI4NiAyLjcxMjFDMjc1LjI3MSAxOC45NzA1IDI3MS4zMDcgMzQuOTgxIDI2Ny40MjIgNTAuODM1MkMyNjMuNTIzIDY2LjY2MzMgMjU5Ljk2NCA4Mi44NDM0IDI1Ni43NyA5OS4zMzY1QzI1My41NDkgMTE1LjgwMyAyNTAuNjgxIDEzMi42MjIgMjQ4LjE1MiAxNDkuNzQxQzI0NS42MDkgMTY2Ljg2IDI0My4xMzIgMTgzLjc5NyAyNDAuNzQ2IDIwMC40OThDMjQxLjA0NiAyMDIuMzM3IDI0MS4zMDcgMjA0LjM5NiAyNDEuNTE1IDIwNi42MTNDMjQxLjY5OCAyMDguODY4IDI0Mi4xMjggMjExLjg0MSAyNDIuNzggMjE1LjUxOE01NjQuMzIyIC02MjIuMDgxQzU2MS43MjggLTYxOS4zNDMgNTU4LjExNiAtNjE2LjA4MyA1NTMuNDg4IC02MTIuMjM3QzU0Mi4yMzYgLTU5OC4xNjkgNTMwLjk1OCAtNTgzLjkwNiA1MTkuNjI4IC01NjkuNDU5QzUwOC4yNTkgLTU1NC45ODcgNDk4LjA1IC01MzkuOTQxIDQ4OS4wMTUgLTUyNC4zNzRDNDU5LjIzNiAtNDc0Ljg2OSA0MzIuNzY5IC00MjMuOTU2IDQwOS42MDEgLTM3MS42MDhDMzg2LjQxOSAtMzE5LjI0OCAzNjUuMTkzIC0yNjUuNDQgMzQ1LjkzNiAtMjEwLjE3MkMzNDUuNzAyIC0yMDkuMzc3IDM0NS43MDIgLTIwOC43MTIgMzQ2LjAxNSAtMjA4LjE5QzM0Ni4yNjIgLTIwNy42NTYgMzQ2LjE4NCAtMjA2LjU4NyAzNDUuNzE1IC0yMDUuMDA5QzM0OS4zNzggLTIwNS42MjIgMzUxLjM2IC0yMDYuMzM5IDM1MS42MDggLTIwNy4xNDdDMzU1LjQ2NyAtMjExLjIxNSAzNTkuNTA5IC0yMTUuMjMxIDM2My43NDYgLTIxOS4xOTRDMzY3Ljk5NyAtMjIzLjE0NSAzNzEuNzY1IC0yMjcuNjgyIDM3NS4wNzYgLTIzMi44MTlDNDAyLjg4NiAtMjY3LjE2MSA0MjguNzE0IC0zMDIuMTQyIDQ1Mi41MzUgLTMzNy43MzZDNDc2LjM2OCAtMzczLjMwMyA0OTguNTMzIC00MTAuNjk2IDUxOS4wNjggLTQ0OS44ODhDNTQzLjg1MyAtNDk3LjM3MiA1NTkuNTc3IC01NDYuNzM0IDU2Ni4yNTIgLTU5Ny45MzRDNTY2LjY0MyAtNjAyLjE4NSA1NjYuOTE3IC02MDYuMDE4IDU2Ny4xIC02MDkuNDZDNTY3LjI0MyAtNjEyLjkwMiA1NjYuMzE3IC02MTcuMSA1NjQuMzM2IC02MjIuMDgxIiBmaWxsPSIjRjVGNUY3Ii8+CjxwYXRoIGQ9Ik02OTYuNTE1IDE4OS4wNjRDNzA0LjYzOCAxODQuMzk2IDcxMi42ODIgMTc5LjYxMSA3MjAuNjg4IDE3NC43MzVWMTM0LjA1N0M2OTcuODE5IDE0OC41MDMgNjczLjgwMyAxNTkuNjM3IDY0OC42MDEgMTY3LjQyMUM2MjIuMDgyIDE3NS42MzUgNTk0LjU1OCAxODAuNjY3IDU2Ni4wMTggMTgyLjU1OEM1NTAuOTIgMTgzLjI2MiA1NDEuMjk4IDE4MS44OTMgNTM3LjEgMTc4LjQzOEM1MzIuODc2IDE3NS4wMDkgNTI5LjA5NSAxNjUuNzUyIDUyNS43NTcgMTUwLjc0NUw1MjMuOTU4IDEzMC41NDlDNTIzLjMzMiAxMTguMTI0IDUyNC43NjYgMTA2Ljc1NSA1MjguMzM5IDk2LjQyODlDNTMxLjg1OSA4Ni4xNTUgNTM2LjEyMiA3NS42MjAzIDU0MS4xMTYgNjQuODc3QzU0NS42MTQgNjQuNDg1OSA1NDkuNTY0IDY0LjM2ODUgNTUzLjAzMiA2NC41MzhDNTU2LjQ3NSA2NC42OTQ1IDU2MC40MzggNjQuNTc3MSA1NjQuOTQ5IDY0LjE3MjlDNTg1Ljg3NSA2NC4zNjg1IDYwNy42MzYgNjEuNzQ3OSA2MzAuMjY5IDU2LjI4NDlDNjUyLjA4MiA1MC42MjY1IDY3MC40IDQxLjI3ODIgNjg1LjI3NyAyOC4yNTMzQzY5NC45MzggMTkuNzc4NiA3MDQuMDI1IDEwLjM3ODMgNzEyLjU2NSAwLjA5MTMwODZINjM5LjUyNkM2MjAuMjU2IDE2Ljk4ODUgNTk2Ljk0NCAyNy40ODQxIDU2OS41MzkgMzEuNDYwN0M1NjcuNjYxIDMxLjc3MzYgNTY2LjM1NyAzMS44MTI3IDU2NS41NzUgMzEuNTY1QzU2NC43NTQgMzEuMzMwMyA1NjMuODI4IDMxLjUxMjggNTYyLjgxMSAzMi4wNDc0QzU2MS45OSAzMS44MTI3IDU2MS42NTEgMzEuNDk5OCA1NjEuNzgxIDMxLjA4MjZDNTYxLjg5OCAzMC42OTE1IDU2MS41NDYgMzAuMzY1NSA1NjAuNzUxIDMwLjEzMDhDNTYwLjk5OSAyOS4zMzU1IDU2MC45MDcgMjguODY2MSA1NjAuNTE2IDI4Ljc2MThDNTYwLjA5OSAyOC42MTg0IDU2MC4wMzQgMjguMTYyIDU2MC4yOTUgMjcuMzUzN0M1NjUuMzc5IDE4LjE3NDkgNTcwLjc3NyA5LjEwMDU1IDU3Ni40MzYgMC4wOTEzMDg2SDQzMC4xNzZDNDI0LjIwNCAxMi42NzMgNDE5LjA1NCAyNS45NDU2IDQxNC44MyAzOS45ODc1QzQwNi40NzMgNjEuOTU2NSA0MDQuMjgyIDgyLjI2OTcgNDA4LjI4NSAxMDAuOTY2QzQxMi4wMTQgMTIwLjQ1OCA0MTguODMzIDEzOC40NjMgNDI4LjcyOCAxNTQuOTgyQzQzOC42MTEgMTcxLjUyOCA0NTIuNDU4IDE4NS4wODcgNDcwLjI1NCAxOTUuN0M0OTAuNzM3IDIwOC44ODEgNTEyLjE0NSAyMTcuNzIxIDUzNC40MDEgMjIyLjI0NUM1NTYuNjQ0IDIyNi43NTcgNTc5Ljg2NSAyMjYuNTA5IDYwNC4xMTUgMjIxLjU2N0M2MDkuNjQzIDIyMC42MTYgNjE1LjI2MyAyMTkuNDY4IDYyMC45MjEgMjE4LjA5OUM2MjYuNTY3IDIxNi43NTYgNjMyLjI3NyAyMTUuMTkyIDYzOC4wNTMgMjEzLjQxOUM2NTkuMDU3IDIwNy41MjUgNjc4LjU2MiAxOTkuMzkgNjk2LjU0MSAxODkuMDc3IiBmaWxsPSIjRjVGNUY3Ii8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDBfMjgyMF82OTk5MSI+CjxyZWN0IHdpZHRoPSI3MjEiIGhlaWdodD0iMjU2Ljg0OCIgZmlsbD0id2hpdGUiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K\");background-repeat:no-repeat}@media (min-width: 48em){/*!@.duet-hero.duet-hero-content.duet-theme-turva .background-mask*/.duet-hero.duet-hero-content.duet-theme-turva.sc-duet-hero .background-mask.sc-duet-hero{left:181px}}/*!@.duet-hero.duet-hero-content.duet-theme-turva .brand-shaped-image*/.duet-hero.duet-hero-content.duet-theme-turva.sc-duet-hero .brand-shaped-image.sc-duet-hero{top:-155px;right:0;left:0;width:420px;height:420px;margin:0 auto;border-radius:0;transform:none;-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E\");-webkit-mask-repeat:no-repeat;mask-image:url(\"data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E\");mask-repeat:no-repeat}@media (min-width: 48em){/*!@.duet-hero.duet-hero-content.duet-theme-turva .brand-shaped-image*/.duet-hero.duet-hero-content.duet-theme-turva.sc-duet-hero .brand-shaped-image.sc-duet-hero{top:-230px;width:687px;height:637px}}/*!@.duet-hero.duet-hero-content.duet-theme-turva .brand-shaped-image .brand-shaped-image-bg*/.duet-hero.duet-hero-content.duet-theme-turva.sc-duet-hero .brand-shaped-image.sc-duet-hero .brand-shaped-image-bg.sc-duet-hero{width:600px;height:280px;transform:translate(-50%, 0)}@media (min-width: 48em){/*!@.duet-hero.duet-hero-content.duet-theme-turva .brand-shaped-image .brand-shaped-image-bg*/.duet-hero.duet-hero-content.duet-theme-turva.sc-duet-hero .brand-shaped-image.sc-duet-hero .brand-shaped-image-bg.sc-duet-hero{width:733px;height:413px}}/*!@.duet-hero.duet-theme-turva*/.duet-hero.duet-theme-turva.sc-duet-hero{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";background:rgb(198, 12, 48)}@media (min-width: 62em){/*!@.duet-hero*/.duet-hero.sc-duet-hero{min-height:290px;padding:111.6px 56px;overflow:visible}}/*!@.duet-hero-icon*/.duet-hero-icon.sc-duet-hero{display:inline-block;vertical-align:top}@media (min-width: 62em){/*!@.duet-hero-icon*/.duet-hero-icon.sc-duet-hero{margin-top:-8px}}@media (min-width: 62em){/*!@.duet-hero-heading*/.duet-hero-heading.sc-duet-hero{margin-top:12px}}@media (min-width: 62em){/*!@.duet-hero-heading-has-pre*/.duet-hero-heading-has-pre.sc-duet-hero{margin-top:0}}/*!@.duet-hero-wrapper*/.duet-hero-wrapper.sc-duet-hero{position:relative;width:100%;max-width:1110px;margin:0 auto;text-align:center}/*!@.duet-hero-left-align .duet-hero-wrapper*/.duet-hero-left-align.sc-duet-hero .duet-hero-wrapper.sc-duet-hero{text-align:left}/*!@.duet-hero-with-image .duet-hero-wrapper*/.duet-hero-with-image.sc-duet-hero .duet-hero-wrapper.sc-duet-hero{position:static}@media (min-width: 62em){/*!@.duet-hero-wrapper*/.duet-hero-wrapper.sc-duet-hero{text-align:left}}/*!@.duet-hero-text*/.duet-hero-text.sc-duet-hero{max-width:50rem;margin:0 auto}/*!@.duet-hero-text-center .duet-hero-text*/.duet-hero-text-center.sc-duet-hero .duet-hero-text.sc-duet-hero{text-align:center !important}@media (min-width: 48em){/*!@.duet-hero-text*/.duet-hero-text.sc-duet-hero{width:80%}/*!@.duet-hero-left-align .duet-hero-text*/.duet-hero-left-align.sc-duet-hero .duet-hero-text.sc-duet-hero{margin:0}}@media (min-width: 62em){/*!@.duet-hero-text*/.duet-hero-text.sc-duet-hero{width:52%;max-width:none;margin-top:-10px;margin-left:0}/*!@.duet-hero-text-center .duet-hero-text*/.duet-hero-text-center.sc-duet-hero .duet-hero-text.sc-duet-hero{margin-left:auto}}/*!@.duet-hero:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{width:100%;max-width:400px;height:0;padding-bottom:50%;margin:28px auto 0;background-repeat:no-repeat;background-position:50% 50%;background-size:contain}@media (min-width: 36em){/*!@.duet-hero:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{padding-bottom:40%}}@media (min-width: 48em){/*!@.duet-hero:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{max-width:420px;padding-bottom:34%}/*!@.duet-hero-light .duet-hero:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero-light.sc-duet-hero .duet-hero.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{max-width:540px}}@media (min-width: 62em){/*!@.duet-hero:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{position:absolute;top:50%;right:0;padding-bottom:30%;margin:0;transform:translateY(-50%)}/*!@.duet-hero-light .duet-hero:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero-light.sc-duet-hero .duet-hero.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{right:-60px;padding-bottom:26%}/*!@.duet-hero-gray .duet-hero:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero-gray.sc-duet-hero .duet-hero.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{right:-34px;padding-bottom:20%}}@media (min-width: 62em){/*!@.duet-hero-gray:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero-gray.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{right:-34px;padding-bottom:20%}}/*!@.duet-hero-image-wrapper*/.duet-hero-image-wrapper.sc-duet-hero{position:relative;width:80%;height:0;padding-bottom:80%;margin:-30px auto 36px;overflow:hidden;border-radius:28%;box-shadow:0 0 20px rgba(255, 255, 255, 0.5);transform:rotate(10deg)}/*!@.duet-theme-turva .duet-hero-image-wrapper*/.duet-theme-turva.sc-duet-hero .duet-hero-image-wrapper.sc-duet-hero{padding-bottom:68%;border-radius:44% 47% 38% 54%;transform:none}@media screen and (min-width: 440px){/*!@.duet-hero-image-wrapper*/.duet-hero-image-wrapper.sc-duet-hero{width:300px;padding-bottom:300px}/*!@.duet-theme-turva .duet-hero-image-wrapper*/.duet-theme-turva.sc-duet-hero .duet-hero-image-wrapper.sc-duet-hero{width:80%;padding-bottom:68%}}@media (min-width: 62em){/*!@.duet-hero-image-wrapper*/.duet-hero-image-wrapper.sc-duet-hero{position:absolute;top:-60px;right:-50px;width:470px;padding-bottom:470px;margin:0}/*!@.duet-theme-turva .duet-hero-image-wrapper*/.duet-theme-turva.sc-duet-hero .duet-hero-image-wrapper.sc-duet-hero{top:-40px;right:-80px;width:536px;padding-bottom:470px}}@media (min-width: 76.25em){/*!@.duet-hero-image-wrapper*/.duet-hero-image-wrapper.sc-duet-hero{top:-70px;right:-60px;width:600px;padding-bottom:600px}/*!@.duet-theme-turva .duet-hero-image-wrapper*/.duet-theme-turva.sc-duet-hero .duet-hero-image-wrapper.sc-duet-hero{top:-70px;right:-60px;width:650px;padding-bottom:600px}}@media screen and (min-width: 1450px){/*!@.duet-hero-image-wrapper*/.duet-hero-image-wrapper.sc-duet-hero{top:-70px;right:25px}/*!@.duet-theme-turva .duet-hero-image-wrapper*/.duet-theme-turva.sc-duet-hero .duet-hero-image-wrapper.sc-duet-hero{right:0}}/*!@.duet-hero-image-wrapper .duet-hero-image*/.duet-hero-image-wrapper.sc-duet-hero .duet-hero-image.sc-duet-hero{position:absolute;top:-5%;left:-5%;width:110%;height:110%;background-repeat:no-repeat;background-position:50% 50%;background-size:cover;transform:rotate(-10deg)}/*!@.duet-theme-turva .duet-hero-image-wrapper .duet-hero-image*/.duet-theme-turva.sc-duet-hero .duet-hero-image-wrapper.sc-duet-hero .duet-hero-image.sc-duet-hero{top:0;left:0;width:100%;height:100%;transform:none}/*!@.duet-hero-image-mask*/.duet-hero-image-mask.sc-duet-hero{position:relative;margin:-48px auto 0;overflow:hidden}@media (min-width: 62em){/*!@.duet-hero-image-mask*/.duet-hero-image-mask.sc-duet-hero{position:absolute;top:0;right:0;width:470px;height:460px;margin:0}}@media (min-width: 76.25em){/*!@.duet-hero-image-mask*/.duet-hero-image-mask.sc-duet-hero{width:650px;height:580px}}@media screen and (min-width: 1450px){/*!@.duet-hero-image-mask*/.duet-hero-image-mask.sc-duet-hero{right:50%;transform:translateX(110%)}/*!@.duet-theme-turva .duet-hero-image-mask*/.duet-theme-turva.sc-duet-hero .duet-hero-image-mask.sc-duet-hero{transform:translateX(108%)}}/*!@duet-heading + duet-button*/duet-heading.sc-duet-hero+duet-button.sc-duet-hero{margin-top:12px !important}/*!@.duet-hero-links*/.duet-hero-links.sc-duet-hero{width:calc(100% + 56px);margin-top:48px;margin-left:-28px}/*!@.duet-hero-minimal .duet-hero-links*/.duet-hero-minimal.sc-duet-hero .duet-hero-links.sc-duet-hero{margin-top:28px}@media (min-width: 36em){/*!@.duet-hero-links*/.duet-hero-links.sc-duet-hero{margin-top:72px}/*!@.duet-hero-minimal .duet-hero-links*/.duet-hero-minimal.sc-duet-hero .duet-hero-links.sc-duet-hero{margin-top:28px}}@media (min-width: 62em){/*!@.duet-hero-links*/.duet-hero-links.sc-duet-hero{width:auto;margin:36px 0 0}/*!@.duet-hero-minimal .duet-hero-links*/.duet-hero-minimal.sc-duet-hero .duet-hero-links.sc-duet-hero{margin-top:28px}}/*!@.duet-hero-link*/.duet-hero-link.sc-duet-hero{display:flex;align-items:center;width:100%;padding:16px 16px 8px;font-weight:600;-webkit-hyphens:auto;hyphens:auto;line-height:1.25;color:rgb(0, 119, 179);text-align:left;text-decoration:none;border-bottom:1px solid rgb(225, 227, 230);transition:background-color 300ms ease}/*!@.duet-hero-link:focus*/.duet-hero-link.sc-duet-hero:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}/*!@.duet-theme-turva .duet-hero-link:focus, .duet-hero-link:focus.duet-theme-turva*/.duet-theme-turva.sc-duet-hero .duet-hero-link.sc-duet-hero:focus,.duet-hero-link.sc-duet-hero:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@.duet-hero-link:hover, .duet-hero-link:hover .duet-hero-action-arrow*/.duet-hero-link.sc-duet-hero:hover,.duet-hero-link.sc-duet-hero:hover .duet-hero-action-arrow.sc-duet-hero{color:rgb(0, 77, 128) !important;background:transparent !important}/*!@.duet-theme-turva .duet-hero-link:hover, .duet-theme-turva .duet-hero-link:hover .duet-hero-action-arrow*/.duet-theme-turva.sc-duet-hero .duet-hero-link.sc-duet-hero:hover,.duet-theme-turva.sc-duet-hero .duet-hero-link.sc-duet-hero:hover .duet-hero-action-arrow.sc-duet-hero{color:rgb(148, 9, 37) !important}/*!@.duet-theme-turva .duet-hero-link*/.duet-theme-turva.sc-duet-hero .duet-hero-link.sc-duet-hero{color:rgb(198, 12, 48)}@media (min-width: 36em){/*!@.duet-hero-link*/.duet-hero-link.sc-duet-hero{padding:16px 16px 16px 28px}}@media (min-width: 62em){/*!@.duet-hero-link*/.duet-hero-link.sc-duet-hero{display:inline-flex;width:auto;max-width:350px;padding:0;margin:0 28px 16px 0;border:0;border-radius:4px}}/*!@.duet-hero-link:hover*/.duet-hero-link.sc-duet-hero:hover{background:rgba(0, 0, 0, 0.02)}@media (min-width: 62em){/*!@.duet-hero-link:hover*/.duet-hero-link.sc-duet-hero:hover{background:transparent}}/*!@.duet-hero-link:first-of-type*/.duet-hero-link.sc-duet-hero:first-of-type{border-top:1px solid rgb(225, 227, 230)}@media (min-width: 62em){/*!@.duet-hero-link:first-of-type*/.duet-hero-link.sc-duet-hero:first-of-type{margin-top:0;border:0}}/*!@.duet-hero-link:last-of-type*/.duet-hero-link.sc-duet-hero:last-of-type{margin-bottom:-48px}@media (min-width: 62em){/*!@.duet-hero-link:last-of-type*/.duet-hero-link.sc-duet-hero:last-of-type{margin-right:0;margin-bottom:0}}/*!@.duet-hero-link span*/.duet-hero-link.sc-duet-hero span.sc-duet-hero{margin-top:-8px}@media (min-width: 36em){/*!@.duet-hero-link span*/.duet-hero-link.sc-duet-hero span.sc-duet-hero{margin:0}}/*!@.duet-hero-action-icon*/.duet-hero-action-icon.sc-duet-hero{margin-right:8px}@media (min-width: 36em){/*!@.duet-hero-action-icon*/.duet-hero-action-icon.sc-duet-hero{margin-right:12px}}/*!@.duet-hero-action-arrow*/.duet-hero-action-arrow.sc-duet-hero{margin:0 0 0 8px;color:rgb(0, 119, 179)}@media (max-width: 35.9375em){/*!@.duet-hero-action-arrow*/.duet-hero-action-arrow.sc-duet-hero{margin-top:-9px}}/*!@.duet-theme-turva .duet-hero-action-arrow*/.duet-theme-turva.sc-duet-hero .duet-hero-action-arrow.sc-duet-hero{color:rgb(198, 12, 48)}/*!@.duet-hero-back*/.duet-hero-back.sc-duet-hero{margin-bottom:28px !important;display:flex;align-items:center;justify-content:center}/*!@.duet-hero-left-align .duet-hero-back*/.duet-hero-left-align.sc-duet-hero .duet-hero-back.sc-duet-hero{align-items:self-start;justify-content:flex-start}@media (min-width: 36em){/*!@.duet-hero-back*/.duet-hero-back.sc-duet-hero{margin-bottom:36px !important}/*!@.duet-hero-minimal .duet-hero-back*/.duet-hero-minimal.sc-duet-hero .duet-hero-back.sc-duet-hero{margin-bottom:28px !important}}@media (min-width: 62em){/*!@.duet-hero-back*/.duet-hero-back.sc-duet-hero{display:block}}/*!@.duet-hero-pre*/.duet-hero-pre.sc-duet-hero{display:inline-block;width:auto;margin-right:8px}/*!@.duet-hero-pre + duet-heading*/.duet-hero-pre.sc-duet-hero+duet-heading.sc-duet-hero{margin-top:0 !important}";
12031
+ const duetHeroCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-hero,*.sc-duet-hero::after,*.sc-duet-hero::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-hero-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;width:100%}/*!@.duet-hero*/.duet-hero.sc-duet-hero{position:relative;display:block;width:100%;padding:48px 28px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-style:normal;font-weight:400;line-height:1.5;text-decoration:none;text-shadow:none;text-transform:none;background:rgb(0, 41, 77)}/*!@.duet-hero.duet-p-0*/.duet-hero.duet-p-0.sc-duet-hero{padding:0 !important}/*!@.duet-hero.duet-m-0*/.duet-hero.duet-m-0.sc-duet-hero{margin:0 !important}/*!@.duet-hero.duet-hero-text-center*/.duet-hero.duet-hero-text-center.sc-duet-hero{text-align:center !important}/*!@.duet-hero.duet-hero-light*/.duet-hero.duet-hero-light.sc-duet-hero{padding-bottom:0 !important}@media (min-width: 62em){/*!@.duet-hero.duet-hero-light*/.duet-hero.duet-hero-light.sc-duet-hero{padding-bottom:28px !important}}/*!@.duet-hero.duet-hero-with-image*/.duet-hero.duet-hero-with-image.sc-duet-hero{padding-bottom:20px !important;margin-bottom:-36px}@media (min-width: 48em){/*!@.duet-hero.duet-hero-with-image*/.duet-hero.duet-hero-with-image.sc-duet-hero{padding-bottom:28px !important}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-with-image*/.duet-hero.duet-hero-with-image.sc-duet-hero{padding-bottom:36px !important;margin-bottom:-20px}}/*!@.duet-hero.duet-hero-light, .duet-hero.duet-hero-with-image*/.duet-hero.duet-hero-light.sc-duet-hero,.duet-hero.duet-hero-with-image.sc-duet-hero{color:rgb(0, 41, 77);background-color:rgb(255, 255, 255);background-image:linear-gradient(rgb(243, 249, 252), #f9fcfe)}/*!@.duet-hero.duet-hero-light::before, .duet-hero.duet-hero-with-image::before*/.duet-hero.duet-hero-light.sc-duet-hero::before,.duet-hero.duet-hero-with-image.sc-duet-hero::before{position:absolute;top:100%;left:0;z-index:-1;width:100%;height:400px;content:\"\";background-image:linear-gradient(#f9fcfe, rgb(255, 255, 255))}/*!@.duet-hero.duet-hero-light.duet-theme-turva, .duet-hero.duet-hero-with-image.duet-theme-turva*/.duet-hero.duet-hero-light.duet-theme-turva.sc-duet-hero,.duet-hero.duet-hero-with-image.duet-theme-turva.sc-duet-hero{color:rgb(23, 28, 58);background-image:linear-gradient(rgb(245, 245, 247), #fafafb)}/*!@.duet-hero.duet-hero-light.duet-theme-turva::before, .duet-hero.duet-hero-with-image.duet-theme-turva::before*/.duet-hero.duet-hero-light.duet-theme-turva.sc-duet-hero::before,.duet-hero.duet-hero-with-image.duet-theme-turva.sc-duet-hero::before{background-image:linear-gradient(#fafafb, rgb(255, 255, 255))}/*!@.duet-hero.duet-hero-gray*/.duet-hero.duet-hero-gray.sc-duet-hero{color:rgb(0, 41, 77);background:rgb(245, 248, 250)}/*!@.duet-hero.duet-hero-gray.duet-theme-turva*/.duet-hero.duet-hero-gray.duet-theme-turva.sc-duet-hero{background:rgb(245, 245, 247)}@media (min-width: 62em){/*!@.duet-hero.duet-hero-gray .duet-hero-text*/.duet-hero.duet-hero-gray.sc-duet-hero .duet-hero-text.sc-duet-hero{display:inline-block;vertical-align:top}/*!@.duet-hero.duet-hero-gray .duet-hero-icon + .duet-hero-text*/.duet-hero.duet-hero-gray.sc-duet-hero .duet-hero-icon.sc-duet-hero+.duet-hero-text.sc-duet-hero{margin-left:28px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-gray-with-actions*/.duet-hero.duet-hero-gray-with-actions.sc-duet-hero{padding-bottom:65.4545454545px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-gray-with-back*/.duet-hero.duet-hero-gray-with-back.sc-duet-hero{padding-top:72px}}/*!@.duet-hero.duet-hero-campaign, .duet-hero.duet-hero-section*/.duet-hero.duet-hero-campaign.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero{padding:0 0 48px;margin:0;background:none}@media (min-width: 48em){/*!@.duet-hero.duet-hero-campaign, .duet-hero.duet-hero-section*/.duet-hero.duet-hero-campaign.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero{min-height:490px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-campaign, .duet-hero.duet-hero-section*/.duet-hero.duet-hero-campaign.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero{min-height:540px}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-campaign, .duet-hero.duet-hero-section*/.duet-hero.duet-hero-campaign.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero{min-height:620px}}/*!@.duet-hero.duet-hero-campaign .background-area, .duet-hero.duet-hero-section .background-area*/.duet-hero.duet-hero-campaign.sc-duet-hero .background-area.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background-area.sc-duet-hero{height:1px;margin-bottom:-1px}/*!@.duet-hero.duet-hero-campaign .background-container, .duet-hero.duet-hero-section .background-container*/.duet-hero.duet-hero-campaign.sc-duet-hero .background-container.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background-container.sc-duet-hero{position:absolute;right:0;left:0;display:grid;align-items:flex-start;justify-content:center;overflow:hidden}/*!@.duet-hero.duet-hero-campaign .background, .duet-hero.duet-hero-section .background*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero{display:flex;align-items:flex-start;justify-content:center;height:220px;margin:0 auto}/*!@.duet-hero.duet-hero-campaign .background img, .duet-hero.duet-hero-section .background img*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero img.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero img.sc-duet-hero{height:100%}@media (min-width: 1440px){/*!@.duet-hero.duet-hero-campaign .background img, .duet-hero.duet-hero-section .background img*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero img.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero img.sc-duet-hero{width:100%;height:auto}}@media (min-width: 36em){/*!@.duet-hero.duet-hero-campaign .background, .duet-hero.duet-hero-section .background*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero{height:300px}}@media (min-width: 48em){/*!@.duet-hero.duet-hero-campaign .background, .duet-hero.duet-hero-section .background*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero{height:450px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-campaign .background, .duet-hero.duet-hero-section .background*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero{height:500px}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-campaign .background, .duet-hero.duet-hero-section .background*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero{height:580px}}@media (min-width: 1600px){/*!@.duet-hero.duet-hero-campaign .background, .duet-hero.duet-hero-section .background*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero{width:1600px;overflow:hidden}}/*!@.duet-hero.duet-hero-campaign .background .brand-container, .duet-hero.duet-hero-section .background .brand-container*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero .brand-container.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero .brand-container.sc-duet-hero{position:relative;width:100%;height:100%;min-height:220px;overflow:hidden}/*!@.duet-hero.duet-hero-campaign .background .brand, .duet-hero.duet-hero-section .background .brand*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero .brand.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero .brand.sc-duet-hero{position:absolute;width:100%;height:220px;background-repeat:no-repeat;background-position:center center;background-size:cover}@media (min-width: 36em){/*!@.duet-hero.duet-hero-campaign .background .brand, .duet-hero.duet-hero-section .background .brand*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero .brand.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero .brand.sc-duet-hero{left:-200px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-campaign .background .brand, .duet-hero.duet-hero-section .background .brand*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero .brand.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero .brand.sc-duet-hero{left:auto;height:1100px;background-position:140% -200%}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-campaign .background .brand, .duet-hero.duet-hero-section .background .brand*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero .brand.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero .brand.sc-duet-hero{background-position:right -200%}}/*!@.duet-hero.duet-hero-campaign .brand-shape, .duet-hero.duet-hero-section .brand-shape*/.duet-hero.duet-hero-campaign.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .brand-shape.sc-duet-hero{position:absolute;top:143px;right:0;left:-30px;width:340px;height:340px;margin-right:auto;margin-left:auto;background:rgb(255, 255, 255);border-radius:20%;mix-blend-mode:normal;transform:rotate(8deg)}@media (min-width: 22.5em){/*!@.duet-hero.duet-hero-campaign .brand-shape, .duet-hero.duet-hero-section .brand-shape*/.duet-hero.duet-hero-campaign.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .brand-shape.sc-duet-hero{top:160px;width:450px;height:450px}}@media (min-width: 36em){/*!@.duet-hero.duet-hero-campaign .brand-shape, .duet-hero.duet-hero-section .brand-shape*/.duet-hero.duet-hero-campaign.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .brand-shape.sc-duet-hero{top:215px;left:-50px;width:550px;height:550px}}@media (min-width: 48em){/*!@.duet-hero.duet-hero-campaign .brand-shape, .duet-hero.duet-hero-section .brand-shape*/.duet-hero.duet-hero-campaign.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .brand-shape.sc-duet-hero{top:250px;left:0;width:712.18px;height:712.18px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-campaign .brand-shape, .duet-hero.duet-hero-section .brand-shape*/.duet-hero.duet-hero-campaign.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .brand-shape.sc-duet-hero{top:240px}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-campaign .brand-shape, .duet-hero.duet-hero-section .brand-shape*/.duet-hero.duet-hero-campaign.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .brand-shape.sc-duet-hero{top:280px}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-campaign .brand-shape, .duet-hero.duet-hero-section .brand-shape*/.duet-hero.duet-hero-campaign.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .brand-shape.sc-duet-hero{top:310px}}/*!@.duet-hero.duet-hero-campaign .duet-hero-text, .duet-hero.duet-hero-section .duet-hero-text*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero{width:100%}/*!@.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-heading::part(duet-heading), .duet-hero.duet-hero-section .duet-hero-text .duet-hero-heading::part(duet-heading)*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-heading.sc-duet-hero::part(duet-heading),.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-heading.sc-duet-hero::part(duet-heading){font-size:36px}@media (min-width: 36em){/*!@.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-heading::part(duet-heading), .duet-hero.duet-hero-section .duet-hero-text .duet-hero-heading::part(duet-heading)*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-heading.sc-duet-hero::part(duet-heading),.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-heading.sc-duet-hero::part(duet-heading){font-size:48px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-heading::part(duet-heading), .duet-hero.duet-hero-section .duet-hero-text .duet-hero-heading::part(duet-heading)*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-heading.sc-duet-hero::part(duet-heading),.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-heading.sc-duet-hero::part(duet-heading){font-size:64px}}/*!@.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,\n.duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,\n.duet-hero.duet-hero-section .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero{margin:0 auto}@media (min-width: 22.5em){/*!@.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-section .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero{width:90%}}@media (min-width: 25em){/*!@.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-section .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero{width:80%}}@media (min-width: 30em){/*!@.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-section .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero{width:70%}}@media (min-width: 36em){/*!@.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-section .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero{width:70%}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-section .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero{width:52%}}/*!@.duet-hero.duet-hero-campaign .duet-hero-heading, .duet-hero.duet-hero-section .duet-hero-heading*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-heading.sc-duet-hero{display:flex;align-items:center;height:6rem;padding:0 1rem;margin:1rem 0 4.5rem}@media (min-width: 22.5em){/*!@.duet-hero.duet-hero-campaign .duet-hero-heading, .duet-hero.duet-hero-section .duet-hero-heading*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-heading.sc-duet-hero{margin:2rem 0 4rem}}@media (min-width: 36em){/*!@.duet-hero.duet-hero-campaign .duet-hero-heading, .duet-hero.duet-hero-section .duet-hero-heading*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-heading.sc-duet-hero{margin:3rem 0 8rem}}@media (min-width: 48em){/*!@.duet-hero.duet-hero-campaign .duet-hero-heading, .duet-hero.duet-hero-section .duet-hero-heading*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-heading.sc-duet-hero{margin:4rem 0 10rem}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-campaign .duet-hero-heading, .duet-hero.duet-hero-section .duet-hero-heading*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-heading.sc-duet-hero{margin:5rem 0 10rem}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-campaign .duet-hero-heading, .duet-hero.duet-hero-section .duet-hero-heading*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-heading.sc-duet-hero{margin:6rem 0 10rem}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-campaign .duet-hero-heading, .duet-hero.duet-hero-section .duet-hero-heading*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-heading.sc-duet-hero{margin:8rem 0 11rem}}/*!@.duet-hero.duet-hero-campaign .duet-hero-wrapper.fluid, .duet-hero.duet-hero-campaign .duet-hero-wrapper.narrow, .duet-hero.duet-hero-section .duet-hero-wrapper.fluid, .duet-hero.duet-hero-section .duet-hero-wrapper.narrow*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-wrapper.fluid.sc-duet-hero,.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-wrapper.narrow.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-wrapper.fluid.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-wrapper.narrow.sc-duet-hero{padding:0 16px}/*!@.duet-hero.duet-hero-campaign.duet-theme-turva, .duet-hero.duet-hero-section.duet-theme-turva*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";background:none}/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape, .duet-hero.duet-hero-section.duet-theme-turva .brand-shape*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero{top:125px;left:-10px;width:350px;height:350px;background:rgb(255, 255, 255);transform:none;-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E\");-webkit-mask-repeat:no-repeat;mask-image:url(\"data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E\");mask-repeat:no-repeat}@media (min-width: 22.5em){/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape, .duet-hero.duet-hero-section.duet-theme-turva .brand-shape*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero{top:143px;left:-30px;width:450px;height:450px}}@media (min-width: 36em){/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape, .duet-hero.duet-hero-section.duet-theme-turva .brand-shape*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero{top:180px;left:0;width:550px;height:550px}}@media (min-width: 48em){/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape, .duet-hero.duet-hero-section.duet-theme-turva .brand-shape*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero{top:220px;width:712.18px;height:712.18px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape, .duet-hero.duet-hero-section.duet-theme-turva .brand-shape*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero{top:230px}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape, .duet-hero.duet-hero-section.duet-theme-turva .brand-shape*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero{top:260px}}@media (min-width: 106.25em){/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape, .duet-hero.duet-hero-section.duet-theme-turva .brand-shape*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero{top:290px}}/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,\n.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,\n.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero{width:98%}@media (min-width: 22.5em){/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero{width:90%}}@media (min-width: 25em){/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero{width:78%}}@media (min-width: 30em){/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero{width:66%}}@media (min-width: 36em){/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero{width:65%}}@media (min-width: 48em){/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero{width:70%}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero{width:52%}}@media (min-width: 22.5em){/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-heading, .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-heading*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-heading.sc-duet-hero{margin:2rem 0 5rem}}@media (min-width: 36em){/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-heading, .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-heading*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-heading.sc-duet-hero{margin:3rem 0 8rem}}@media (min-width: 48em){/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-heading, .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-heading*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-heading.sc-duet-hero{margin:4rem 0 10rem}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-heading, .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-heading*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-heading.sc-duet-hero{margin:5rem 0 10rem}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-heading, .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-heading*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-heading.sc-duet-hero{margin:6rem 0 12rem}}@media (min-width: 106.25em){/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-heading, .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-heading*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-heading.sc-duet-hero{margin:8rem 0 13rem}}@media (min-width: 48em){/*!@.duet-hero.duet-hero-section*/.duet-hero.duet-hero-section.sc-duet-hero{min-height:490px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-section*/.duet-hero.duet-hero-section.sc-duet-hero{min-height:auto}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-section*/.duet-hero.duet-hero-section.sc-duet-hero{min-height:560px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-section .background img*/.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero img.sc-duet-hero{width:100%;height:auto}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-section .background*/.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero{width:1400px;height:436px;overflow:hidden}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-section .background*/.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero{width:1536px;height:516px}}@media (min-width: 106.25em){/*!@.duet-hero.duet-hero-section .background*/.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero{width:1536px}}/*!@.duet-hero.duet-hero-product*/.duet-hero.duet-hero-product.sc-duet-hero{position:relative;padding:0 0 48px;padding-top:236px;margin:0;background:rgb(255, 255, 255)}@media (min-width: 48em){/*!@.duet-hero.duet-hero-product*/.duet-hero.duet-hero-product.sc-duet-hero{padding-top:250px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product*/.duet-hero.duet-hero-product.sc-duet-hero{min-height:375px;padding-top:0}/*!@.duet-hero.duet-hero-product.duet-hero-narrow*/.duet-hero.duet-hero-product.duet-hero-narrow.sc-duet-hero{padding-top:200px}}/*!@.duet-hero.duet-hero-product .background-area*/.duet-hero.duet-hero-product.sc-duet-hero .background-area.sc-duet-hero{position:absolute;top:0;width:100%;height:600px;overflow:hidden}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .background-area*/.duet-hero.duet-hero-product.sc-duet-hero .background-area.sc-duet-hero{top:-112px}/*!@.duet-hero.duet-hero-product .background-area.narrow*/.duet-hero.duet-hero-product.sc-duet-hero .background-area.narrow.sc-duet-hero{top:0}}/*!@.duet-hero.duet-hero-product .background-container*/.duet-hero.duet-hero-product.sc-duet-hero .background-container.sc-duet-hero{position:absolute;top:-150px;width:100%;height:600px;overflow:hidden}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .background-container*/.duet-hero.duet-hero-product.sc-duet-hero .background-container.sc-duet-hero{top:-48px}/*!@.duet-hero.duet-hero-product .background-container.narrow*/.duet-hero.duet-hero-product.sc-duet-hero .background-container.narrow.sc-duet-hero{top:-160px}}/*!@.duet-hero.duet-hero-product .background*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero{position:absolute;top:145px;width:100%;overflow:visible}/*!@.duet-hero.duet-hero-product .background .background-mask*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .background-mask.sc-duet-hero{display:none}@media (min-width: 48em){/*!@.duet-hero.duet-hero-product .background*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero{top:130px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .background*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero{top:35px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .background.narrow*/.duet-hero.duet-hero-product.sc-duet-hero .background.narrow.sc-duet-hero{top:140px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .background:not(.narrow)*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero:not(.narrow){position:absolute;right:0;left:0;max-width:1440px;height:100%;margin:0 auto}}/*!@.duet-hero.duet-hero-product .background .brand-shaped-image*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero{position:absolute;top:-160px;right:-15%;z-index:0;width:375px;height:375px;overflow:hidden;border-radius:20%;transform:rotate(7deg)}@media (min-width: 36em){/*!@.duet-hero.duet-hero-product .background .brand-shaped-image*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero{right:15%}}@media (min-width: 48em){/*!@.duet-hero.duet-hero-product .background .brand-shaped-image*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero{top:-210px;width:485px;height:485px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .background .brand-shaped-image:not(.narrow)*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero:not(.narrow){top:-353px;right:-128.15px;width:520px;height:736px}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-product .background .brand-shaped-image:not(.narrow)*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero:not(.narrow){width:736px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .background .brand-shaped-image.narrow*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.narrow.sc-duet-hero{right:30%}}/*!@.duet-hero.duet-hero-product .background .brand-shaped-image .brand-shaped-image-wrapper*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero .brand-shaped-image-wrapper.sc-duet-hero{position:relative;width:100%;height:100%}/*!@.duet-hero.duet-hero-product .background .brand-shaped-image .brand-shaped-image-bg*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero .brand-shaped-image-bg.sc-duet-hero{position:absolute;bottom:0;left:50%;z-index:1;width:600px;height:256px;background-repeat:no-repeat;background-size:100%;transform:rotate(-7deg) translate(-50%, 0)}@media (min-width: 48em){/*!@.duet-hero.duet-hero-product .background .brand-shaped-image .brand-shaped-image-bg*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero .brand-shaped-image-bg.sc-duet-hero{width:600px;height:320px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .background .brand-shaped-image .brand-shaped-image-bg:not(.narrow)*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero .brand-shaped-image-bg.sc-duet-hero:not(.narrow){width:800px;height:470px}}/*!@.duet-hero.duet-hero-product .background .brand-shape*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shape.sc-duet-hero{position:absolute;top:-20px;right:50%;width:240px;height:240px;background:rgb(230, 242, 248);border-radius:25%;mix-blend-mode:normal;transform:rotate(7deg)}@media (min-width: 48em){/*!@.duet-hero.duet-hero-product .background .brand-shape*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shape.sc-duet-hero{top:-60px;width:340px;height:340px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .background .brand-shape:not(.narrow)*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shape.sc-duet-hero:not(.narrow){top:auto;top:79px;right:200px;width:380px;height:380px}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-product .background .brand-shape:not(.narrow)*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shape.sc-duet-hero:not(.narrow){right:414px;width:400px;height:400px}}/*!@.duet-hero.duet-hero-product .background .brand-shaped-icon*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.sc-duet-hero{position:absolute;top:160px;right:15%;display:flex;align-items:center;justify-content:center;width:85px;height:85px;background:rgba(0, 119, 179, 0.75);border-radius:25%;mix-blend-mode:normal;transform:rotate(7deg)}@media (min-width: 48em){/*!@.duet-hero.duet-hero-product .background .brand-shaped-icon*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.sc-duet-hero{top:180px;width:120px;height:120px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .background .brand-shaped-icon:not(.narrow)*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.sc-duet-hero:not(.narrow){top:292px;right:220px;width:150px;height:150px}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-product .background .brand-shaped-icon:not(.narrow)*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.sc-duet-hero:not(.narrow){top:292px;right:220px;width:186px;height:186px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .background .brand-shaped-icon.narrow*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.narrow.sc-duet-hero{right:35%}}/*!@.duet-hero.duet-hero-product .background .brand-shaped-icon duet-icon*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.sc-duet-hero duet-icon.sc-duet-hero{width:80px;height:80px;transform:rotate(-7deg)}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .background .brand-shaped-icon duet-icon:not(.narrow)*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.sc-duet-hero duet-icon.sc-duet-hero:not(.narrow){width:120px;height:120px}}/*!@.duet-hero.duet-hero-product .duet-hero-wrapper*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.sc-duet-hero{max-width:100%;margin:0 auto}/*!@.duet-hero.duet-hero-product .duet-hero-wrapper .duet-hero-text*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.sc-duet-hero .duet-hero-text.sc-duet-hero{margin-top:0}/*!@.duet-hero.duet-hero-product .duet-hero-wrapper .duet-hero-heading*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.sc-duet-hero .duet-hero-heading.sc-duet-hero{margin-top:1rem}@media (min-width: 48em){/*!@.duet-hero.duet-hero-product .duet-hero-wrapper .duet-hero-heading*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.sc-duet-hero .duet-hero-heading.sc-duet-hero{margin-top:2rem}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .duet-hero-wrapper .duet-hero-heading*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.sc-duet-hero .duet-hero-heading.sc-duet-hero{margin-top:7rem}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-product .duet-hero-wrapper .duet-hero-heading*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.sc-duet-hero .duet-hero-heading.sc-duet-hero{margin-top:7rem}}/*!@.duet-hero.duet-hero-product .duet-hero-wrapper.fluid, .duet-hero.duet-hero-product .duet-hero-wrapper.narrow*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.fluid.sc-duet-hero,.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.narrow.sc-duet-hero{padding:0 16px}@media (min-width: 36em){/*!@.duet-hero.duet-hero-product .duet-hero-wrapper.fluid*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.fluid.sc-duet-hero{padding:0 28px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .duet-hero-wrapper.fluid*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.fluid.sc-duet-hero{padding:0 56px}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-product .duet-hero-wrapper.fluid*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.fluid.sc-duet-hero{max-width:1110px;padding:0}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .duet-hero-wrapper.fluid .duet-hero-text*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.fluid.sc-duet-hero .duet-hero-text.sc-duet-hero{width:50%}}/*!@.duet-hero.duet-hero-product .duet-hero-wrapper.narrow*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.narrow.sc-duet-hero{max-width:888px}@media (min-width: 36em){/*!@.duet-hero.duet-hero-product .duet-hero-wrapper.narrow*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.narrow.sc-duet-hero{padding:0 48px}}@media (min-width: 48em){/*!@.duet-hero.duet-hero-product .duet-hero-wrapper.narrow*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.narrow.sc-duet-hero{padding:0 72px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .duet-hero-wrapper.narrow .duet-hero-text*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.narrow.sc-duet-hero .duet-hero-text.sc-duet-hero{width:80%}}/*!@.duet-hero.duet-hero-product.duet-theme-turva*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero{background:rgb(255, 255, 255)}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product.duet-theme-turva.duet-hero-narrow*/.duet-hero.duet-hero-product.duet-theme-turva.duet-hero-narrow.sc-duet-hero{padding-top:160px}}/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .background-mask*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .background-mask.sc-duet-hero{position:absolute;top:0;left:0;display:block;width:721px;height:256.85px;background-image:url(\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzIxIiBoZWlnaHQ9IjI1NyIgdmlld0JveD0iMCAwIDcyMSAyNTciIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8yODIwXzY5OTkxKSI+CjxwYXRoIGQ9Ik04MC4xNzA1IDIzLjE4MTVDOTEuOTY5OSAxOC44NjU5IDEwMi44NyAxMS42NTU5IDExMi45MDkgMS41NjQ0OEMxMjMuNzcgLTguMzA1MjcgMTM0LjM4MiAtMTguMjAxMSAxNDQuODI2IC0yOC4xODgyQzE1NS4yNDMgLTM4LjE2MjIgMTY1LjkwOCAtNDguMDg0MSAxNzYuNzQzIC01Ny45Mjc4QzE3OC44MTYgLTU5LjA0OSAxODAuNDk4IC02MC4yODc3IDE4MS43ODggLTYxLjY1NjdDMTgzLjA2NiAtNjMuMDEyNiAxODUuNDY1IC02Mi4yODI1IDE4OS4wMTIgLTU5LjQ3OTNDMTg0LjczNSAtNTEuMTM1IDE4MC43NTkgLTQyLjk2MDIgMTc3LjAxNyAtMzQuOTAyN0MxNzMuMjg4IC0yNi44NDUyIDE2Ny42ODEgLTE5LjEyNjggMTYwLjIxMSAtMTEuNzYwM0MxNTIuNzUzIC00LjM4MDgzIDE0NC45NTYgMy4zMTE1MiAxMzYuODQ3IDExLjM2OUMxMjguNzI0IDE5LjQyNjUgMTIwLjk2NiAyNy4xNDUgMTEzLjQ4MyAzNC40OTg0Qzk3LjQ5OCA0OS44MTggNzkuNjYyIDU2LjAyNDEgNjAuMDAwOCA1My4xNjg4QzQwLjI4NzQgNTAuMzEzNSAyNS41NDE0IDM5LjA3NDcgMTUuNjk3NyAxOS40Nzg2QzMuOTI0NDUgLTIuMzcyOTkgLTEuMjI1NTUgLTI0LjQ3MjQgMC4yNDc3NDMgLTQ2Ljc4MDNDMS4yNTE2NyAtNjcuNDg0NiAzLjQwMjkzIC04Ny43OTc4IDYuODA1ODQgLTEwNy43NzJDMTAuMTk1NyAtMTI3LjczMyAxNS43MTA4IC0xNDcuNDg2IDIzLjMzOCAtMTY3LjA0M0MyNi4zMTA3IC0xNzQuMDMxIDI5LjAwOTUgLTE4MC44NSAzMS40NzM3IC0xODcuNTY0QzMzLjkxMTggLTE5NC4yMjcgMzYuNTMyNCAtMjAwLjY2OCAzOS4yNTc0IC0yMDYuODQ4QzQxLjgxMjggLTIwOS41NzIgNDMuNDY4NiAtMjEyLjEyOCA0NC4xODU3IC0yMTQuNTRDNTMuMDI1NSAtMjI5LjM3NyA2Mi44MyAtMjM3Ljk5NSA3My42Mzg1IC0yNDAuNDMzQzg0LjM5NDggLTI0Mi44NzEgOTguMTM2OSAtMjM5LjgyMSAxMTQuODEyIC0yMzEuMzJDMTI3Ljk0MiAtMjI1LjYwOSAxMzMuMzkyIC0yMTYuMTA1IDEzMS4xNDkgLTIwMi43OTNDMTMwLjE3MSAtMTkwLjgzNyAxMjcuOTk0IC0xNzkuMjU5IDEyNC42MTcgLTE2OC4wMkMxMjAuMDQxIC0xNTIuNzc5IDExNS40MzggLTEzNy41NTEgMTEwLjg0OSAtMTIyLjMyMkMxMDYuMjczIC0xMDcuMDgxIDEwMS4yNzkgLTkxLjk2OTkgOTUuODk0MyAtNzcuMDAyM0M4NS41OTQzIC00OC42MDU3IDc5LjQyNzQgLTE5LjQyNjcgNzcuNDA2NSAxMC41NjA2Qzc3LjcxOTQgMTIuNDEyIDc4LjA0NTMgMTQuMjYzNSA3OC4zNTgzIDE2LjA4ODhDNzguNjcxMiAxNy45NDAyIDc5LjI3MDkgMjAuMyA4MC4xNzA1IDIzLjE5NDRNMTEwLjkxNCAtMjk2Ljc1N0MxMDkuNTQ1IC0yOTguMDM1IDEwNy4zMTYgLTI5OS4zNTIgMTA0LjIzOSAtMzAwLjczNEMxMDEuMTYyIC0zMDIuMDkgOTguMjQxMiAtMzA0LjA1OSA5NS41NDIzIC0zMDYuNjI3QzkwLjA3OTQgLTMxMS43NzcgODYuOTc2MyAtMzE4LjE2NiA4Ni4yMzMyIC0zMjUuODE5Qzg1LjQ2NCAtMzMzLjQ3MiA4Ny4zODA1IC0zNDAuNTUyIDkxLjk2OTkgLTM0Ny4wNThDOTMuMjIxNSAtMzQ4LjQxNCA5NC4xNDcyIC0zNDkuMjM1IDk0LjY4MTggLTM0OS41MjJDOTUuMTkwMyAtMzQ5Ljc5NiA5Ni4xMDI5IC0zNTAuNjA0IDk3LjM5MzcgLTM1MS45OTlDMTA5LjY3NSAtMzU3LjkwNiAxMjIuNDE0IC0zNTYuNjkzIDEzNS42MzQgLTM0OC4zMzZDMTQ2Ljk1MSAtMzQyLjMyNSAxNTIuMDg4IC0zMzMuMzE2IDE1MS4xMzYgLTMyMS4zNkwxNDguMjI5IC0zMTEuNzM4QzE0NC42NjkgLTI5Ny4wNyAxMzUuNTY5IC0yOTEuNTAzIDEyMC45MTQgLTI5NS4wNjJDMTE5LjA1IC0yOTQuNzIzIDExNS43MzggLTI5NS4yOTcgMTEwLjkxNCAtMjk2Ljc0NCIgZmlsbD0iI0Y1RjVGNyIvPgo8cGF0aCBkPSJNMjQyLjc2NyAyMTUuNTE4QzI0NS4wODggMjEzLjU4OCAyNDcuMjc4IDIxMi4xMDIgMjQ5LjM3NyAyMTAuOTY4QzI1MS40NSAyMDkuODU5IDI1My41MzYgMjA4Ljc1MSAyNTUuNjIyIDIwNy42MDRDMjc0LjIyNyAxOTIuMjg0IDI5MC41NzcgMTc3LjE2IDMwNC43MjMgMTYyLjE5M0MzMTUuNjg4IDE0OC45NDYgMzI2LjYxNCAxMzUuODU2IDMzNy40ODggMTIyLjk4N0MzNDguMzYxIDExMC4xMTkgMzU4Ljg4MyA5Ni45Mzc1IDM2OS4wNjYgODMuNDE3MUMzNzYuNDQ1IDczLjQzMDEgMzg0LjU4MSA2My44NjAyIDM5My40NDcgNTQuNzQ2NkM0MDIuMyA0NS42NDYxIDQxMC44MjYgMzYuMjMyNyA0MTkuMDAxIDI2LjQ4MDNDNDIxLjgwNCAyMi45NzMxIDQyNC4yMjkgMjAuMDAwNCA0MjYuMjg5IDE3LjU0OTNDNDI4LjMyMyAxNS4xMjQzIDQzMC41MDEgMTIuOTMzOCA0MzIuODM1IDExLjAxNzNDNDM0LjkwOCA5LjkwOTA2IDQzNi43NDYgOS41ODMwMSA0MzguMzYzIDEwLjA2NTRDNDM5Ljk1MyAxMC41NDc5IDQ0MS43OTIgMTAuMjQ4IDQ0My45MDQgOS4xMTM3MUM0NDMuMTg3IDExLjUxMjcgNDQyLjgyMiAxMy4zOTAzIDQ0Mi44ODcgMTQuNjk0QzQ0Mi45MjYgMTYuMDIzOSA0NDIuMjg3IDE3LjM2NjggNDQxLjAwOSAxOC43MjI3QzQyNC42NDcgNDYuOTYzIDQwNy42ODQgNzIuODE3MyAzOTAuMTIyIDk2LjMxMTdDMzc2LjY0MSAxMTQuOTU2IDM2My4xNDcgMTMyLjkwOSAzNDkuNjM5IDE1MC4yMjRDMzM2LjEwNiAxNjcuNTI1IDMyMi4yMiAxODUuMzYxIDMwNy45NDQgMjAzLjc1OEMzMDEuNTI5IDIxMC41MzcgMjk1LjM4OCAyMTcuMiAyODkuNDk1IDIyMy43MTlDMjgzLjU4OSAyMzAuMjI1IDI3Ny40MzUgMjM2LjkgMjcxLjAyIDI0My42NjdDMjU4LjkyMSAyNTQuODggMjQ0LjQ4OCAyNTkuMjM0IDIyNy43MzQgMjU2Ljc5NkMxOTYuODYgMjUxLjg4MSAxNzYuMDI1IDIzNi44NzQgMTY1LjIxNyAyMTEuNzg5QzE1NC42OTUgMTg4LjU2OCAxNDkuNTMyIDE2Ni41MDggMTQ5LjcwMiAxNDUuNjA4QzE0Ny45NDIgMTEzLjY3OCAxNDguMzA3IDgxLjk0MzggMTUwLjgxIDUwLjQxOEMxNTMuMyAxOC44NzkyIDE1OC4zMiAtMTIuMzIwNyAxNjUuODY5IC00My4yMDc3QzE4MC4xNzIgLTEwNS4yMDMgMTk4LjU2OCAtMTY2LjQwMyAyMjEuMTExIC0yMjYuODA4QzIzMi4wODkgLTI1Ny41MjYgMjQ0LjQyMyAtMjg3LjYxOCAyNTguMSAtMzE3LjA5NkMyNzEuNzc2IC0zNDYuNTc1IDI4Ni4zNzkgLTM3NS41MDcgMzAxLjk3MiAtNDA0LjAwOEMzMTIuOTUgLTQyNS45OSAzMjQuNjMyIC00NDcuMzQ2IDMzNi45NzkgLTQ2OC4wNjNDMzQ5LjMxMyAtNDg4Ljc1NCAzNjIuNDk1IC01MDkuMjI0IDM3Ni40MzIgLTUyOS40NTlDNDAzLjg2NCAtNTY4LjI5OSA0MzQuMTkgLTYwMy42NzEgNDY3LjM5OCAtNjM1LjU3NUM0NzUuNjM4IC02NDIuNjgxIDQ4My45OTUgLTY0OS4zMTcgNDkyLjQwNSAtNjU1LjUxQzUwMC44MjggLTY2MS42NzcgNTEwLjM5NyAtNjY2LjY1OCA1MjEuMTU0IC02NzAuMzk5QzU0NS4yNzQgLTY3Ny45NjEgNTY3LjcxMiAtNjc2Ljg3OSA1ODguMzkxIC02NjcuMTY2QzYwNC43MjcgLTY2MC40NzggNjEzLjY3MSAtNjQ5LjUxMyA2MTUuMjEgLTYzNC4yMTlDNjE3LjU5NiAtNjI0Ljc1NCA2MTguMTk1IC02MTMuNjcxIDYxNi45ODMgLTYwMC45NTlDNjEwLjMyIC01NTguNDgxIDU5Ny44NTYgLTUxNS41MzQgNTc5LjU1MSAtNDcyLjE5NkM1NjUuNDMxIC00MzkuODIzIDU0OS4wODEgLTQwOC43NTMgNTMwLjUyOCAtMzc5LjAwMUM1MTEuOTM2IC0zNDkuMjYxIDQ5Mi42MTQgLTMxOS45NTIgNDcyLjYgLTI5MS4wOTlDNDY1LjQ1NiAtMjgxLjkyIDQ1Ny45NDYgLTI3MS41MDMgNDUwLjEyMyAtMjU5LjkxMkM0MzMuNTc4IC0yMzYuOTc4IDQxNS42MzcgLTIxNS4xMjYgMzk2LjI4OSAtMTk0LjM1N0MzNzYuOTAyIC0xNzMuNTYxIDM1NS44NDUgLTE1NC4zOTYgMzMzLjA2OCAtMTM2LjgyQzMyMC4zODIgLTEyNi42OSAzMTIuNTMzIC0xMTUuMDg2IDMwOS40ODIgLTEwMi4wNDhDMzA0LjE4OSAtODQuNDQ2OCAyOTguOTc0IC02Ny4wNDExIDI5My43OTggLTQ5Ljg0NEMyODguNjIxIC0zMi42NDY5IDI4My43NzEgLTE1LjExMDggMjc5LjI4NiAyLjcxMjFDMjc1LjI3MSAxOC45NzA1IDI3MS4zMDcgMzQuOTgxIDI2Ny40MjIgNTAuODM1MkMyNjMuNTIzIDY2LjY2MzMgMjU5Ljk2NCA4Mi44NDM0IDI1Ni43NyA5OS4zMzY1QzI1My41NDkgMTE1LjgwMyAyNTAuNjgxIDEzMi42MjIgMjQ4LjE1MiAxNDkuNzQxQzI0NS42MDkgMTY2Ljg2IDI0My4xMzIgMTgzLjc5NyAyNDAuNzQ2IDIwMC40OThDMjQxLjA0NiAyMDIuMzM3IDI0MS4zMDcgMjA0LjM5NiAyNDEuNTE1IDIwNi42MTNDMjQxLjY5OCAyMDguODY4IDI0Mi4xMjggMjExLjg0MSAyNDIuNzggMjE1LjUxOE01NjQuMzIyIC02MjIuMDgxQzU2MS43MjggLTYxOS4zNDMgNTU4LjExNiAtNjE2LjA4MyA1NTMuNDg4IC02MTIuMjM3QzU0Mi4yMzYgLTU5OC4xNjkgNTMwLjk1OCAtNTgzLjkwNiA1MTkuNjI4IC01NjkuNDU5QzUwOC4yNTkgLTU1NC45ODcgNDk4LjA1IC01MzkuOTQxIDQ4OS4wMTUgLTUyNC4zNzRDNDU5LjIzNiAtNDc0Ljg2OSA0MzIuNzY5IC00MjMuOTU2IDQwOS42MDEgLTM3MS42MDhDMzg2LjQxOSAtMzE5LjI0OCAzNjUuMTkzIC0yNjUuNDQgMzQ1LjkzNiAtMjEwLjE3MkMzNDUuNzAyIC0yMDkuMzc3IDM0NS43MDIgLTIwOC43MTIgMzQ2LjAxNSAtMjA4LjE5QzM0Ni4yNjIgLTIwNy42NTYgMzQ2LjE4NCAtMjA2LjU4NyAzNDUuNzE1IC0yMDUuMDA5QzM0OS4zNzggLTIwNS42MjIgMzUxLjM2IC0yMDYuMzM5IDM1MS42MDggLTIwNy4xNDdDMzU1LjQ2NyAtMjExLjIxNSAzNTkuNTA5IC0yMTUuMjMxIDM2My43NDYgLTIxOS4xOTRDMzY3Ljk5NyAtMjIzLjE0NSAzNzEuNzY1IC0yMjcuNjgyIDM3NS4wNzYgLTIzMi44MTlDNDAyLjg4NiAtMjY3LjE2MSA0MjguNzE0IC0zMDIuMTQyIDQ1Mi41MzUgLTMzNy43MzZDNDc2LjM2OCAtMzczLjMwMyA0OTguNTMzIC00MTAuNjk2IDUxOS4wNjggLTQ0OS44ODhDNTQzLjg1MyAtNDk3LjM3MiA1NTkuNTc3IC01NDYuNzM0IDU2Ni4yNTIgLTU5Ny45MzRDNTY2LjY0MyAtNjAyLjE4NSA1NjYuOTE3IC02MDYuMDE4IDU2Ny4xIC02MDkuNDZDNTY3LjI0MyAtNjEyLjkwMiA1NjYuMzE3IC02MTcuMSA1NjQuMzM2IC02MjIuMDgxIiBmaWxsPSIjRjVGNUY3Ii8+CjxwYXRoIGQ9Ik02OTYuNTE1IDE4OS4wNjRDNzA0LjYzOCAxODQuMzk2IDcxMi42ODIgMTc5LjYxMSA3MjAuNjg4IDE3NC43MzVWMTM0LjA1N0M2OTcuODE5IDE0OC41MDMgNjczLjgwMyAxNTkuNjM3IDY0OC42MDEgMTY3LjQyMUM2MjIuMDgyIDE3NS42MzUgNTk0LjU1OCAxODAuNjY3IDU2Ni4wMTggMTgyLjU1OEM1NTAuOTIgMTgzLjI2MiA1NDEuMjk4IDE4MS44OTMgNTM3LjEgMTc4LjQzOEM1MzIuODc2IDE3NS4wMDkgNTI5LjA5NSAxNjUuNzUyIDUyNS43NTcgMTUwLjc0NUw1MjMuOTU4IDEzMC41NDlDNTIzLjMzMiAxMTguMTI0IDUyNC43NjYgMTA2Ljc1NSA1MjguMzM5IDk2LjQyODlDNTMxLjg1OSA4Ni4xNTUgNTM2LjEyMiA3NS42MjAzIDU0MS4xMTYgNjQuODc3QzU0NS42MTQgNjQuNDg1OSA1NDkuNTY0IDY0LjM2ODUgNTUzLjAzMiA2NC41MzhDNTU2LjQ3NSA2NC42OTQ1IDU2MC40MzggNjQuNTc3MSA1NjQuOTQ5IDY0LjE3MjlDNTg1Ljg3NSA2NC4zNjg1IDYwNy42MzYgNjEuNzQ3OSA2MzAuMjY5IDU2LjI4NDlDNjUyLjA4MiA1MC42MjY1IDY3MC40IDQxLjI3ODIgNjg1LjI3NyAyOC4yNTMzQzY5NC45MzggMTkuNzc4NiA3MDQuMDI1IDEwLjM3ODMgNzEyLjU2NSAwLjA5MTMwODZINjM5LjUyNkM2MjAuMjU2IDE2Ljk4ODUgNTk2Ljk0NCAyNy40ODQxIDU2OS41MzkgMzEuNDYwN0M1NjcuNjYxIDMxLjc3MzYgNTY2LjM1NyAzMS44MTI3IDU2NS41NzUgMzEuNTY1QzU2NC43NTQgMzEuMzMwMyA1NjMuODI4IDMxLjUxMjggNTYyLjgxMSAzMi4wNDc0QzU2MS45OSAzMS44MTI3IDU2MS42NTEgMzEuNDk5OCA1NjEuNzgxIDMxLjA4MjZDNTYxLjg5OCAzMC42OTE1IDU2MS41NDYgMzAuMzY1NSA1NjAuNzUxIDMwLjEzMDhDNTYwLjk5OSAyOS4zMzU1IDU2MC45MDcgMjguODY2MSA1NjAuNTE2IDI4Ljc2MThDNTYwLjA5OSAyOC42MTg0IDU2MC4wMzQgMjguMTYyIDU2MC4yOTUgMjcuMzUzN0M1NjUuMzc5IDE4LjE3NDkgNTcwLjc3NyA5LjEwMDU1IDU3Ni40MzYgMC4wOTEzMDg2SDQzMC4xNzZDNDI0LjIwNCAxMi42NzMgNDE5LjA1NCAyNS45NDU2IDQxNC44MyAzOS45ODc1QzQwNi40NzMgNjEuOTU2NSA0MDQuMjgyIDgyLjI2OTcgNDA4LjI4NSAxMDAuOTY2QzQxMi4wMTQgMTIwLjQ1OCA0MTguODMzIDEzOC40NjMgNDI4LjcyOCAxNTQuOTgyQzQzOC42MTEgMTcxLjUyOCA0NTIuNDU4IDE4NS4wODcgNDcwLjI1NCAxOTUuN0M0OTAuNzM3IDIwOC44ODEgNTEyLjE0NSAyMTcuNzIxIDUzNC40MDEgMjIyLjI0NUM1NTYuNjQ0IDIyNi43NTcgNTc5Ljg2NSAyMjYuNTA5IDYwNC4xMTUgMjIxLjU2N0M2MDkuNjQzIDIyMC42MTYgNjE1LjI2MyAyMTkuNDY4IDYyMC45MjEgMjE4LjA5OUM2MjYuNTY3IDIxNi43NTYgNjMyLjI3NyAyMTUuMTkyIDYzOC4wNTMgMjEzLjQxOUM2NTkuMDU3IDIwNy41MjUgNjc4LjU2MiAxOTkuMzkgNjk2LjU0MSAxODkuMDc3IiBmaWxsPSIjRjVGNUY3Ii8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDBfMjgyMF82OTk5MSI+CjxyZWN0IHdpZHRoPSI3MjEiIGhlaWdodD0iMjU2Ljg0OCIgZmlsbD0id2hpdGUiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K\");background-repeat:no-repeat}@media (min-width: 48em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .background-mask*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .background-mask.sc-duet-hero{left:181px}}/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero{top:-185px;right:0;left:0;width:485px;height:485px;margin:0 auto;border-radius:0;transform:none;-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E\");-webkit-mask-repeat:no-repeat;mask-image:url(\"data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E\");mask-repeat:no-repeat}@media (min-width: 36em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero{right:0}}@media (min-width: 48em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero{top:-165px;right:0}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image.narrow*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.narrow.sc-duet-hero{right:40%;left:auto}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image:not(.narrow)*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero:not(.narrow){top:-230px;right:-180px;left:auto;width:675px;height:675px;margin:0}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image:not(.narrow)*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero:not(.narrow){right:-120px;width:736px}}/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image .brand-shaped-image-bg*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero .brand-shaped-image-bg.sc-duet-hero{width:600px;height:320px;transform:translate(-50%, 0)}@media (min-width: 48em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image .brand-shaped-image-bg*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero .brand-shaped-image-bg.sc-duet-hero{width:600px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image .brand-shaped-image-bg:not(.narrow)*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero .brand-shaped-image-bg.sc-duet-hero:not(.narrow){width:800px;height:470px}}/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-icon*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.sc-duet-hero{top:175px;background:rgba(198, 12, 48, 0.9);-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E\");-webkit-mask-repeat:no-repeat;mask-image:url(\"data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E\");mask-repeat:no-repeat;transform:rotate(0deg)}/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-icon duet-icon*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.sc-duet-hero duet-icon.sc-duet-hero{position:relative;top:-10px;transform:rotate(0deg)}@media (min-width: 48em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-icon duet-icon*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.sc-duet-hero duet-icon.sc-duet-hero{top:-10px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-icon duet-icon*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.sc-duet-hero duet-icon.sc-duet-hero{top:-15px}}@media (min-width: 48em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-icon*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.sc-duet-hero{top:180px;right:20%}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-icon*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.sc-duet-hero{top:292px}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-icon*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.sc-duet-hero{top:292px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-icon.narrow*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.narrow.sc-duet-hero{top:192px;right:35%}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-icon.narrow*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.narrow.sc-duet-hero{top:192px;right:40%}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-icon:not(.narrow)*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.sc-duet-hero:not(.narrow){right:340px}}/*!@.duet-hero.duet-hero-content*/.duet-hero.duet-hero-content.sc-duet-hero{padding:0 0 48px;padding-top:236px;background:rgb(255, 255, 255)}@media (min-width: 48em){/*!@.duet-hero.duet-hero-content*/.duet-hero.duet-hero-content.sc-duet-hero{padding-top:384px}}/*!@.duet-hero.duet-hero-content:not(.duet-hero-has-image)*/.duet-hero.duet-hero-content.sc-duet-hero:not(.duet-hero-has-image){padding:72px 0 48px}/*!@.duet-hero.duet-hero-content .background-area*/.duet-hero.duet-hero-content.sc-duet-hero .background-area.sc-duet-hero{position:absolute;width:100%}/*!@.duet-hero.duet-hero-content .background*/.duet-hero.duet-hero-content.sc-duet-hero .background.sc-duet-hero{position:absolute;top:-236px;width:100%;height:600px;overflow:hidden}/*!@.duet-hero.duet-hero-content .background .background-mask*/.duet-hero.duet-hero-content.sc-duet-hero .background.sc-duet-hero .background-mask.sc-duet-hero{display:none}@media (min-width: 48em){/*!@.duet-hero.duet-hero-content .background*/.duet-hero.duet-hero-content.sc-duet-hero .background.sc-duet-hero{top:-384px}}/*!@.duet-hero.duet-hero-content .background .brand-shaped-image*/.duet-hero.duet-hero-content.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero{position:absolute;top:-165px;right:0;left:30px;z-index:0;width:375px;height:375px;margin:0 auto;overflow:hidden;border-radius:20%;transform:rotate(7deg)}@media (min-width: 48em){/*!@.duet-hero.duet-hero-content .background .brand-shaped-image*/.duet-hero.duet-hero-content.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero{top:-325px;left:250px;width:687px;height:687px}}/*!@.duet-hero.duet-hero-content .background .brand-shaped-image .brand-shaped-image-wrapper*/.duet-hero.duet-hero-content.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero .brand-shaped-image-wrapper.sc-duet-hero{position:relative;width:100%;height:100%}/*!@.duet-hero.duet-hero-content .background .brand-shaped-image .brand-shaped-image-bg*/.duet-hero.duet-hero-content.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero .brand-shaped-image-bg.sc-duet-hero{position:absolute;bottom:0;left:50%;z-index:1;width:600px;height:256px;background-repeat:no-repeat;background-size:100%;transform:rotate(-7deg) translate(-50%, 0)}@media (min-width: 48em){/*!@.duet-hero.duet-hero-content .background .brand-shaped-image .brand-shaped-image-bg*/.duet-hero.duet-hero-content.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero .brand-shaped-image-bg.sc-duet-hero{width:733px;height:413px}}/*!@.duet-hero.duet-hero-content .background .brand-shape*/.duet-hero.duet-hero-content.sc-duet-hero .background.sc-duet-hero .brand-shape.sc-duet-hero{position:absolute;top:-25px;right:0;left:-300px;width:240px;height:240px;margin-right:auto;margin-left:auto;background:rgb(0, 119, 179);border-radius:20%;mix-blend-mode:normal;opacity:0.07;transform:rotate(7deg)}@media (min-width: 48em){/*!@.duet-hero.duet-hero-content .background .brand-shape*/.duet-hero.duet-hero-content.sc-duet-hero .background.sc-duet-hero .brand-shape.sc-duet-hero{top:80px;left:-400px;width:373px;height:373px}}/*!@.duet-hero.duet-hero-content .duet-hero-wrapper*/.duet-hero.duet-hero-content.sc-duet-hero .duet-hero-wrapper.sc-duet-hero{max-width:100%;margin:0 auto}/*!@.duet-hero.duet-hero-content .duet-hero-wrapper.fluid, .duet-hero.duet-hero-content .duet-hero-wrapper.narrow*/.duet-hero.duet-hero-content.sc-duet-hero .duet-hero-wrapper.fluid.sc-duet-hero,.duet-hero.duet-hero-content.sc-duet-hero .duet-hero-wrapper.narrow.sc-duet-hero{padding:0 16px}@media (min-width: 36em){/*!@.duet-hero.duet-hero-content .duet-hero-wrapper.fluid*/.duet-hero.duet-hero-content.sc-duet-hero .duet-hero-wrapper.fluid.sc-duet-hero{padding:0 28px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-content .duet-hero-wrapper.fluid*/.duet-hero.duet-hero-content.sc-duet-hero .duet-hero-wrapper.fluid.sc-duet-hero{padding:0 56px}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-content .duet-hero-wrapper.fluid*/.duet-hero.duet-hero-content.sc-duet-hero .duet-hero-wrapper.fluid.sc-duet-hero{max-width:1110px;padding:0}}/*!@.duet-hero.duet-hero-content .duet-hero-wrapper.narrow*/.duet-hero.duet-hero-content.sc-duet-hero .duet-hero-wrapper.narrow.sc-duet-hero{max-width:888px}@media (min-width: 36em){/*!@.duet-hero.duet-hero-content .duet-hero-wrapper.narrow*/.duet-hero.duet-hero-content.sc-duet-hero .duet-hero-wrapper.narrow.sc-duet-hero{padding:0 48px}}@media (min-width: 48em){/*!@.duet-hero.duet-hero-content .duet-hero-wrapper.narrow*/.duet-hero.duet-hero-content.sc-duet-hero .duet-hero-wrapper.narrow.sc-duet-hero{padding:0 72px}}/*!@.duet-hero.duet-hero-content .duet-hero-text*/.duet-hero.duet-hero-content.sc-duet-hero .duet-hero-text.sc-duet-hero{max-width:100%}@media (min-width: 62em){/*!@.duet-hero.duet-hero-content .duet-hero-text*/.duet-hero.duet-hero-content.sc-duet-hero .duet-hero-text.sc-duet-hero{width:80%}}/*!@.duet-hero.duet-hero-content .duet-hero-text .duet-hero-pre*/.duet-hero.duet-hero-content.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-pre.sc-duet-hero{margin-top:1rem;margin-bottom:0.5rem}@media (min-width: 62em){/*!@.duet-hero.duet-hero-content .duet-hero-text .duet-hero-pre*/.duet-hero.duet-hero-content.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-pre.sc-duet-hero{margin-top:1.5rem;margin-bottom:0}}/*!@.duet-hero.duet-hero-content.duet-theme-turva*/.duet-hero.duet-hero-content.duet-theme-turva.sc-duet-hero{background:rgb(255, 255, 255)}/*!@.duet-hero.duet-hero-content.duet-theme-turva .background-mask*/.duet-hero.duet-hero-content.duet-theme-turva.sc-duet-hero .background-mask.sc-duet-hero{position:absolute;top:0;left:0;display:block;width:721px;height:256.85px;background-image:url(\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzIxIiBoZWlnaHQ9IjI1NyIgdmlld0JveD0iMCAwIDcyMSAyNTciIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8yODIwXzY5OTkxKSI+CjxwYXRoIGQ9Ik04MC4xNzA1IDIzLjE4MTVDOTEuOTY5OSAxOC44NjU5IDEwMi44NyAxMS42NTU5IDExMi45MDkgMS41NjQ0OEMxMjMuNzcgLTguMzA1MjcgMTM0LjM4MiAtMTguMjAxMSAxNDQuODI2IC0yOC4xODgyQzE1NS4yNDMgLTM4LjE2MjIgMTY1LjkwOCAtNDguMDg0MSAxNzYuNzQzIC01Ny45Mjc4QzE3OC44MTYgLTU5LjA0OSAxODAuNDk4IC02MC4yODc3IDE4MS43ODggLTYxLjY1NjdDMTgzLjA2NiAtNjMuMDEyNiAxODUuNDY1IC02Mi4yODI1IDE4OS4wMTIgLTU5LjQ3OTNDMTg0LjczNSAtNTEuMTM1IDE4MC43NTkgLTQyLjk2MDIgMTc3LjAxNyAtMzQuOTAyN0MxNzMuMjg4IC0yNi44NDUyIDE2Ny42ODEgLTE5LjEyNjggMTYwLjIxMSAtMTEuNzYwM0MxNTIuNzUzIC00LjM4MDgzIDE0NC45NTYgMy4zMTE1MiAxMzYuODQ3IDExLjM2OUMxMjguNzI0IDE5LjQyNjUgMTIwLjk2NiAyNy4xNDUgMTEzLjQ4MyAzNC40OTg0Qzk3LjQ5OCA0OS44MTggNzkuNjYyIDU2LjAyNDEgNjAuMDAwOCA1My4xNjg4QzQwLjI4NzQgNTAuMzEzNSAyNS41NDE0IDM5LjA3NDcgMTUuNjk3NyAxOS40Nzg2QzMuOTI0NDUgLTIuMzcyOTkgLTEuMjI1NTUgLTI0LjQ3MjQgMC4yNDc3NDMgLTQ2Ljc4MDNDMS4yNTE2NyAtNjcuNDg0NiAzLjQwMjkzIC04Ny43OTc4IDYuODA1ODQgLTEwNy43NzJDMTAuMTk1NyAtMTI3LjczMyAxNS43MTA4IC0xNDcuNDg2IDIzLjMzOCAtMTY3LjA0M0MyNi4zMTA3IC0xNzQuMDMxIDI5LjAwOTUgLTE4MC44NSAzMS40NzM3IC0xODcuNTY0QzMzLjkxMTggLTE5NC4yMjcgMzYuNTMyNCAtMjAwLjY2OCAzOS4yNTc0IC0yMDYuODQ4QzQxLjgxMjggLTIwOS41NzIgNDMuNDY4NiAtMjEyLjEyOCA0NC4xODU3IC0yMTQuNTRDNTMuMDI1NSAtMjI5LjM3NyA2Mi44MyAtMjM3Ljk5NSA3My42Mzg1IC0yNDAuNDMzQzg0LjM5NDggLTI0Mi44NzEgOTguMTM2OSAtMjM5LjgyMSAxMTQuODEyIC0yMzEuMzJDMTI3Ljk0MiAtMjI1LjYwOSAxMzMuMzkyIC0yMTYuMTA1IDEzMS4xNDkgLTIwMi43OTNDMTMwLjE3MSAtMTkwLjgzNyAxMjcuOTk0IC0xNzkuMjU5IDEyNC42MTcgLTE2OC4wMkMxMjAuMDQxIC0xNTIuNzc5IDExNS40MzggLTEzNy41NTEgMTEwLjg0OSAtMTIyLjMyMkMxMDYuMjczIC0xMDcuMDgxIDEwMS4yNzkgLTkxLjk2OTkgOTUuODk0MyAtNzcuMDAyM0M4NS41OTQzIC00OC42MDU3IDc5LjQyNzQgLTE5LjQyNjcgNzcuNDA2NSAxMC41NjA2Qzc3LjcxOTQgMTIuNDEyIDc4LjA0NTMgMTQuMjYzNSA3OC4zNTgzIDE2LjA4ODhDNzguNjcxMiAxNy45NDAyIDc5LjI3MDkgMjAuMyA4MC4xNzA1IDIzLjE5NDRNMTEwLjkxNCAtMjk2Ljc1N0MxMDkuNTQ1IC0yOTguMDM1IDEwNy4zMTYgLTI5OS4zNTIgMTA0LjIzOSAtMzAwLjczNEMxMDEuMTYyIC0zMDIuMDkgOTguMjQxMiAtMzA0LjA1OSA5NS41NDIzIC0zMDYuNjI3QzkwLjA3OTQgLTMxMS43NzcgODYuOTc2MyAtMzE4LjE2NiA4Ni4yMzMyIC0zMjUuODE5Qzg1LjQ2NCAtMzMzLjQ3MiA4Ny4zODA1IC0zNDAuNTUyIDkxLjk2OTkgLTM0Ny4wNThDOTMuMjIxNSAtMzQ4LjQxNCA5NC4xNDcyIC0zNDkuMjM1IDk0LjY4MTggLTM0OS41MjJDOTUuMTkwMyAtMzQ5Ljc5NiA5Ni4xMDI5IC0zNTAuNjA0IDk3LjM5MzcgLTM1MS45OTlDMTA5LjY3NSAtMzU3LjkwNiAxMjIuNDE0IC0zNTYuNjkzIDEzNS42MzQgLTM0OC4zMzZDMTQ2Ljk1MSAtMzQyLjMyNSAxNTIuMDg4IC0zMzMuMzE2IDE1MS4xMzYgLTMyMS4zNkwxNDguMjI5IC0zMTEuNzM4QzE0NC42NjkgLTI5Ny4wNyAxMzUuNTY5IC0yOTEuNTAzIDEyMC45MTQgLTI5NS4wNjJDMTE5LjA1IC0yOTQuNzIzIDExNS43MzggLTI5NS4yOTcgMTEwLjkxNCAtMjk2Ljc0NCIgZmlsbD0iI0Y1RjVGNyIvPgo8cGF0aCBkPSJNMjQyLjc2NyAyMTUuNTE4QzI0NS4wODggMjEzLjU4OCAyNDcuMjc4IDIxMi4xMDIgMjQ5LjM3NyAyMTAuOTY4QzI1MS40NSAyMDkuODU5IDI1My41MzYgMjA4Ljc1MSAyNTUuNjIyIDIwNy42MDRDMjc0LjIyNyAxOTIuMjg0IDI5MC41NzcgMTc3LjE2IDMwNC43MjMgMTYyLjE5M0MzMTUuNjg4IDE0OC45NDYgMzI2LjYxNCAxMzUuODU2IDMzNy40ODggMTIyLjk4N0MzNDguMzYxIDExMC4xMTkgMzU4Ljg4MyA5Ni45Mzc1IDM2OS4wNjYgODMuNDE3MUMzNzYuNDQ1IDczLjQzMDEgMzg0LjU4MSA2My44NjAyIDM5My40NDcgNTQuNzQ2NkM0MDIuMyA0NS42NDYxIDQxMC44MjYgMzYuMjMyNyA0MTkuMDAxIDI2LjQ4MDNDNDIxLjgwNCAyMi45NzMxIDQyNC4yMjkgMjAuMDAwNCA0MjYuMjg5IDE3LjU0OTNDNDI4LjMyMyAxNS4xMjQzIDQzMC41MDEgMTIuOTMzOCA0MzIuODM1IDExLjAxNzNDNDM0LjkwOCA5LjkwOTA2IDQzNi43NDYgOS41ODMwMSA0MzguMzYzIDEwLjA2NTRDNDM5Ljk1MyAxMC41NDc5IDQ0MS43OTIgMTAuMjQ4IDQ0My45MDQgOS4xMTM3MUM0NDMuMTg3IDExLjUxMjcgNDQyLjgyMiAxMy4zOTAzIDQ0Mi44ODcgMTQuNjk0QzQ0Mi45MjYgMTYuMDIzOSA0NDIuMjg3IDE3LjM2NjggNDQxLjAwOSAxOC43MjI3QzQyNC42NDcgNDYuOTYzIDQwNy42ODQgNzIuODE3MyAzOTAuMTIyIDk2LjMxMTdDMzc2LjY0MSAxMTQuOTU2IDM2My4xNDcgMTMyLjkwOSAzNDkuNjM5IDE1MC4yMjRDMzM2LjEwNiAxNjcuNTI1IDMyMi4yMiAxODUuMzYxIDMwNy45NDQgMjAzLjc1OEMzMDEuNTI5IDIxMC41MzcgMjk1LjM4OCAyMTcuMiAyODkuNDk1IDIyMy43MTlDMjgzLjU4OSAyMzAuMjI1IDI3Ny40MzUgMjM2LjkgMjcxLjAyIDI0My42NjdDMjU4LjkyMSAyNTQuODggMjQ0LjQ4OCAyNTkuMjM0IDIyNy43MzQgMjU2Ljc5NkMxOTYuODYgMjUxLjg4MSAxNzYuMDI1IDIzNi44NzQgMTY1LjIxNyAyMTEuNzg5QzE1NC42OTUgMTg4LjU2OCAxNDkuNTMyIDE2Ni41MDggMTQ5LjcwMiAxNDUuNjA4QzE0Ny45NDIgMTEzLjY3OCAxNDguMzA3IDgxLjk0MzggMTUwLjgxIDUwLjQxOEMxNTMuMyAxOC44NzkyIDE1OC4zMiAtMTIuMzIwNyAxNjUuODY5IC00My4yMDc3QzE4MC4xNzIgLTEwNS4yMDMgMTk4LjU2OCAtMTY2LjQwMyAyMjEuMTExIC0yMjYuODA4QzIzMi4wODkgLTI1Ny41MjYgMjQ0LjQyMyAtMjg3LjYxOCAyNTguMSAtMzE3LjA5NkMyNzEuNzc2IC0zNDYuNTc1IDI4Ni4zNzkgLTM3NS41MDcgMzAxLjk3MiAtNDA0LjAwOEMzMTIuOTUgLTQyNS45OSAzMjQuNjMyIC00NDcuMzQ2IDMzNi45NzkgLTQ2OC4wNjNDMzQ5LjMxMyAtNDg4Ljc1NCAzNjIuNDk1IC01MDkuMjI0IDM3Ni40MzIgLTUyOS40NTlDNDAzLjg2NCAtNTY4LjI5OSA0MzQuMTkgLTYwMy42NzEgNDY3LjM5OCAtNjM1LjU3NUM0NzUuNjM4IC02NDIuNjgxIDQ4My45OTUgLTY0OS4zMTcgNDkyLjQwNSAtNjU1LjUxQzUwMC44MjggLTY2MS42NzcgNTEwLjM5NyAtNjY2LjY1OCA1MjEuMTU0IC02NzAuMzk5QzU0NS4yNzQgLTY3Ny45NjEgNTY3LjcxMiAtNjc2Ljg3OSA1ODguMzkxIC02NjcuMTY2QzYwNC43MjcgLTY2MC40NzggNjEzLjY3MSAtNjQ5LjUxMyA2MTUuMjEgLTYzNC4yMTlDNjE3LjU5NiAtNjI0Ljc1NCA2MTguMTk1IC02MTMuNjcxIDYxNi45ODMgLTYwMC45NTlDNjEwLjMyIC01NTguNDgxIDU5Ny44NTYgLTUxNS41MzQgNTc5LjU1MSAtNDcyLjE5NkM1NjUuNDMxIC00MzkuODIzIDU0OS4wODEgLTQwOC43NTMgNTMwLjUyOCAtMzc5LjAwMUM1MTEuOTM2IC0zNDkuMjYxIDQ5Mi42MTQgLTMxOS45NTIgNDcyLjYgLTI5MS4wOTlDNDY1LjQ1NiAtMjgxLjkyIDQ1Ny45NDYgLTI3MS41MDMgNDUwLjEyMyAtMjU5LjkxMkM0MzMuNTc4IC0yMzYuOTc4IDQxNS42MzcgLTIxNS4xMjYgMzk2LjI4OSAtMTk0LjM1N0MzNzYuOTAyIC0xNzMuNTYxIDM1NS44NDUgLTE1NC4zOTYgMzMzLjA2OCAtMTM2LjgyQzMyMC4zODIgLTEyNi42OSAzMTIuNTMzIC0xMTUuMDg2IDMwOS40ODIgLTEwMi4wNDhDMzA0LjE4OSAtODQuNDQ2OCAyOTguOTc0IC02Ny4wNDExIDI5My43OTggLTQ5Ljg0NEMyODguNjIxIC0zMi42NDY5IDI4My43NzEgLTE1LjExMDggMjc5LjI4NiAyLjcxMjFDMjc1LjI3MSAxOC45NzA1IDI3MS4zMDcgMzQuOTgxIDI2Ny40MjIgNTAuODM1MkMyNjMuNTIzIDY2LjY2MzMgMjU5Ljk2NCA4Mi44NDM0IDI1Ni43NyA5OS4zMzY1QzI1My41NDkgMTE1LjgwMyAyNTAuNjgxIDEzMi42MjIgMjQ4LjE1MiAxNDkuNzQxQzI0NS42MDkgMTY2Ljg2IDI0My4xMzIgMTgzLjc5NyAyNDAuNzQ2IDIwMC40OThDMjQxLjA0NiAyMDIuMzM3IDI0MS4zMDcgMjA0LjM5NiAyNDEuNTE1IDIwNi42MTNDMjQxLjY5OCAyMDguODY4IDI0Mi4xMjggMjExLjg0MSAyNDIuNzggMjE1LjUxOE01NjQuMzIyIC02MjIuMDgxQzU2MS43MjggLTYxOS4zNDMgNTU4LjExNiAtNjE2LjA4MyA1NTMuNDg4IC02MTIuMjM3QzU0Mi4yMzYgLTU5OC4xNjkgNTMwLjk1OCAtNTgzLjkwNiA1MTkuNjI4IC01NjkuNDU5QzUwOC4yNTkgLTU1NC45ODcgNDk4LjA1IC01MzkuOTQxIDQ4OS4wMTUgLTUyNC4zNzRDNDU5LjIzNiAtNDc0Ljg2OSA0MzIuNzY5IC00MjMuOTU2IDQwOS42MDEgLTM3MS42MDhDMzg2LjQxOSAtMzE5LjI0OCAzNjUuMTkzIC0yNjUuNDQgMzQ1LjkzNiAtMjEwLjE3MkMzNDUuNzAyIC0yMDkuMzc3IDM0NS43MDIgLTIwOC43MTIgMzQ2LjAxNSAtMjA4LjE5QzM0Ni4yNjIgLTIwNy42NTYgMzQ2LjE4NCAtMjA2LjU4NyAzNDUuNzE1IC0yMDUuMDA5QzM0OS4zNzggLTIwNS42MjIgMzUxLjM2IC0yMDYuMzM5IDM1MS42MDggLTIwNy4xNDdDMzU1LjQ2NyAtMjExLjIxNSAzNTkuNTA5IC0yMTUuMjMxIDM2My43NDYgLTIxOS4xOTRDMzY3Ljk5NyAtMjIzLjE0NSAzNzEuNzY1IC0yMjcuNjgyIDM3NS4wNzYgLTIzMi44MTlDNDAyLjg4NiAtMjY3LjE2MSA0MjguNzE0IC0zMDIuMTQyIDQ1Mi41MzUgLTMzNy43MzZDNDc2LjM2OCAtMzczLjMwMyA0OTguNTMzIC00MTAuNjk2IDUxOS4wNjggLTQ0OS44ODhDNTQzLjg1MyAtNDk3LjM3MiA1NTkuNTc3IC01NDYuNzM0IDU2Ni4yNTIgLTU5Ny45MzRDNTY2LjY0MyAtNjAyLjE4NSA1NjYuOTE3IC02MDYuMDE4IDU2Ny4xIC02MDkuNDZDNTY3LjI0MyAtNjEyLjkwMiA1NjYuMzE3IC02MTcuMSA1NjQuMzM2IC02MjIuMDgxIiBmaWxsPSIjRjVGNUY3Ii8+CjxwYXRoIGQ9Ik02OTYuNTE1IDE4OS4wNjRDNzA0LjYzOCAxODQuMzk2IDcxMi42ODIgMTc5LjYxMSA3MjAuNjg4IDE3NC43MzVWMTM0LjA1N0M2OTcuODE5IDE0OC41MDMgNjczLjgwMyAxNTkuNjM3IDY0OC42MDEgMTY3LjQyMUM2MjIuMDgyIDE3NS42MzUgNTk0LjU1OCAxODAuNjY3IDU2Ni4wMTggMTgyLjU1OEM1NTAuOTIgMTgzLjI2MiA1NDEuMjk4IDE4MS44OTMgNTM3LjEgMTc4LjQzOEM1MzIuODc2IDE3NS4wMDkgNTI5LjA5NSAxNjUuNzUyIDUyNS43NTcgMTUwLjc0NUw1MjMuOTU4IDEzMC41NDlDNTIzLjMzMiAxMTguMTI0IDUyNC43NjYgMTA2Ljc1NSA1MjguMzM5IDk2LjQyODlDNTMxLjg1OSA4Ni4xNTUgNTM2LjEyMiA3NS42MjAzIDU0MS4xMTYgNjQuODc3QzU0NS42MTQgNjQuNDg1OSA1NDkuNTY0IDY0LjM2ODUgNTUzLjAzMiA2NC41MzhDNTU2LjQ3NSA2NC42OTQ1IDU2MC40MzggNjQuNTc3MSA1NjQuOTQ5IDY0LjE3MjlDNTg1Ljg3NSA2NC4zNjg1IDYwNy42MzYgNjEuNzQ3OSA2MzAuMjY5IDU2LjI4NDlDNjUyLjA4MiA1MC42MjY1IDY3MC40IDQxLjI3ODIgNjg1LjI3NyAyOC4yNTMzQzY5NC45MzggMTkuNzc4NiA3MDQuMDI1IDEwLjM3ODMgNzEyLjU2NSAwLjA5MTMwODZINjM5LjUyNkM2MjAuMjU2IDE2Ljk4ODUgNTk2Ljk0NCAyNy40ODQxIDU2OS41MzkgMzEuNDYwN0M1NjcuNjYxIDMxLjc3MzYgNTY2LjM1NyAzMS44MTI3IDU2NS41NzUgMzEuNTY1QzU2NC43NTQgMzEuMzMwMyA1NjMuODI4IDMxLjUxMjggNTYyLjgxMSAzMi4wNDc0QzU2MS45OSAzMS44MTI3IDU2MS42NTEgMzEuNDk5OCA1NjEuNzgxIDMxLjA4MjZDNTYxLjg5OCAzMC42OTE1IDU2MS41NDYgMzAuMzY1NSA1NjAuNzUxIDMwLjEzMDhDNTYwLjk5OSAyOS4zMzU1IDU2MC45MDcgMjguODY2MSA1NjAuNTE2IDI4Ljc2MThDNTYwLjA5OSAyOC42MTg0IDU2MC4wMzQgMjguMTYyIDU2MC4yOTUgMjcuMzUzN0M1NjUuMzc5IDE4LjE3NDkgNTcwLjc3NyA5LjEwMDU1IDU3Ni40MzYgMC4wOTEzMDg2SDQzMC4xNzZDNDI0LjIwNCAxMi42NzMgNDE5LjA1NCAyNS45NDU2IDQxNC44MyAzOS45ODc1QzQwNi40NzMgNjEuOTU2NSA0MDQuMjgyIDgyLjI2OTcgNDA4LjI4NSAxMDAuOTY2QzQxMi4wMTQgMTIwLjQ1OCA0MTguODMzIDEzOC40NjMgNDI4LjcyOCAxNTQuOTgyQzQzOC42MTEgMTcxLjUyOCA0NTIuNDU4IDE4NS4wODcgNDcwLjI1NCAxOTUuN0M0OTAuNzM3IDIwOC44ODEgNTEyLjE0NSAyMTcuNzIxIDUzNC40MDEgMjIyLjI0NUM1NTYuNjQ0IDIyNi43NTcgNTc5Ljg2NSAyMjYuNTA5IDYwNC4xMTUgMjIxLjU2N0M2MDkuNjQzIDIyMC42MTYgNjE1LjI2MyAyMTkuNDY4IDYyMC45MjEgMjE4LjA5OUM2MjYuNTY3IDIxNi43NTYgNjMyLjI3NyAyMTUuMTkyIDYzOC4wNTMgMjEzLjQxOUM2NTkuMDU3IDIwNy41MjUgNjc4LjU2MiAxOTkuMzkgNjk2LjU0MSAxODkuMDc3IiBmaWxsPSIjRjVGNUY3Ii8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDBfMjgyMF82OTk5MSI+CjxyZWN0IHdpZHRoPSI3MjEiIGhlaWdodD0iMjU2Ljg0OCIgZmlsbD0id2hpdGUiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K\");background-repeat:no-repeat}@media (min-width: 48em){/*!@.duet-hero.duet-hero-content.duet-theme-turva .background-mask*/.duet-hero.duet-hero-content.duet-theme-turva.sc-duet-hero .background-mask.sc-duet-hero{left:181px}}/*!@.duet-hero.duet-hero-content.duet-theme-turva .brand-shaped-image*/.duet-hero.duet-hero-content.duet-theme-turva.sc-duet-hero .brand-shaped-image.sc-duet-hero{top:-155px;right:0;left:0;width:420px;height:420px;margin:0 auto;border-radius:0;transform:none;-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E\");-webkit-mask-repeat:no-repeat;mask-image:url(\"data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E\");mask-repeat:no-repeat}@media (min-width: 48em){/*!@.duet-hero.duet-hero-content.duet-theme-turva .brand-shaped-image*/.duet-hero.duet-hero-content.duet-theme-turva.sc-duet-hero .brand-shaped-image.sc-duet-hero{top:-230px;width:687px;height:637px}}/*!@.duet-hero.duet-hero-content.duet-theme-turva .brand-shaped-image .brand-shaped-image-bg*/.duet-hero.duet-hero-content.duet-theme-turva.sc-duet-hero .brand-shaped-image.sc-duet-hero .brand-shaped-image-bg.sc-duet-hero{width:600px;height:280px;transform:translate(-50%, 0)}@media (min-width: 48em){/*!@.duet-hero.duet-hero-content.duet-theme-turva .brand-shaped-image .brand-shaped-image-bg*/.duet-hero.duet-hero-content.duet-theme-turva.sc-duet-hero .brand-shaped-image.sc-duet-hero .brand-shaped-image-bg.sc-duet-hero{width:733px;height:413px}}/*!@.duet-hero.duet-theme-turva*/.duet-hero.duet-theme-turva.sc-duet-hero{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";background:rgb(198, 12, 48)}@media (min-width: 62em){/*!@.duet-hero*/.duet-hero.sc-duet-hero{min-height:290px;padding:111.6px 56px;overflow:visible}}/*!@.duet-hero-icon*/.duet-hero-icon.sc-duet-hero{display:inline-block;vertical-align:top}@media (min-width: 62em){/*!@.duet-hero-icon*/.duet-hero-icon.sc-duet-hero{margin-top:-8px}}@media (min-width: 62em){/*!@.duet-hero-heading*/.duet-hero-heading.sc-duet-hero{margin-top:12px}}@media (min-width: 62em){/*!@.duet-hero-heading-has-pre*/.duet-hero-heading-has-pre.sc-duet-hero{margin-top:0}}/*!@.duet-hero-wrapper*/.duet-hero-wrapper.sc-duet-hero{position:relative;width:100%;max-width:1110px;margin:0 auto;text-align:center}/*!@.duet-hero-left-align .duet-hero-wrapper*/.duet-hero-left-align.sc-duet-hero .duet-hero-wrapper.sc-duet-hero{text-align:left}/*!@.duet-hero-with-image .duet-hero-wrapper*/.duet-hero-with-image.sc-duet-hero .duet-hero-wrapper.sc-duet-hero{position:static}@media (min-width: 62em){/*!@.duet-hero-wrapper*/.duet-hero-wrapper.sc-duet-hero{text-align:left}}/*!@.duet-hero-text*/.duet-hero-text.sc-duet-hero{max-width:50rem;margin:0 auto}/*!@.duet-hero-text-center .duet-hero-text*/.duet-hero-text-center.sc-duet-hero .duet-hero-text.sc-duet-hero{text-align:center !important}@media (min-width: 48em){/*!@.duet-hero-text*/.duet-hero-text.sc-duet-hero{width:80%}/*!@.duet-hero-left-align .duet-hero-text*/.duet-hero-left-align.sc-duet-hero .duet-hero-text.sc-duet-hero{margin:0}}@media (min-width: 62em){/*!@.duet-hero-text*/.duet-hero-text.sc-duet-hero{width:52%;max-width:none;margin-top:-10px;margin-left:0}/*!@.duet-hero-text-center .duet-hero-text*/.duet-hero-text-center.sc-duet-hero .duet-hero-text.sc-duet-hero{margin-left:auto}}/*!@.duet-hero:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{width:100%;max-width:400px;height:0;padding-bottom:50%;margin:28px auto 0;background-repeat:no-repeat;background-position:50% 50%;background-size:contain}@media (min-width: 36em){/*!@.duet-hero:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{padding-bottom:40%}}@media (min-width: 48em){/*!@.duet-hero:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{max-width:420px;padding-bottom:34%}/*!@.duet-hero-light .duet-hero:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero-light.sc-duet-hero .duet-hero.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{max-width:540px}}@media (min-width: 62em){/*!@.duet-hero:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{position:absolute;top:50%;right:0;padding-bottom:30%;margin:0;transform:translateY(-50%)}/*!@.duet-hero-light .duet-hero:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero-light.sc-duet-hero .duet-hero.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{right:-60px;padding-bottom:26%}/*!@.duet-hero-gray .duet-hero:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero-gray.sc-duet-hero .duet-hero.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{right:-34px;padding-bottom:20%}}@media (min-width: 62em){/*!@.duet-hero-gray:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero-gray.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{right:-34px;padding-bottom:20%}}/*!@.duet-hero-image-wrapper*/.duet-hero-image-wrapper.sc-duet-hero{position:relative;width:80%;height:0;padding-bottom:80%;margin:-30px auto 36px;overflow:hidden;border-radius:28%;box-shadow:0 0 20px rgba(255, 255, 255, 0.5);transform:rotate(10deg)}/*!@.duet-theme-turva .duet-hero-image-wrapper*/.duet-theme-turva.sc-duet-hero .duet-hero-image-wrapper.sc-duet-hero{padding-bottom:68%;border-radius:44% 47% 38% 54%;transform:none}@media screen and (min-width: 440px){/*!@.duet-hero-image-wrapper*/.duet-hero-image-wrapper.sc-duet-hero{width:300px;padding-bottom:300px}/*!@.duet-theme-turva .duet-hero-image-wrapper*/.duet-theme-turva.sc-duet-hero .duet-hero-image-wrapper.sc-duet-hero{width:80%;padding-bottom:68%}}@media (min-width: 62em){/*!@.duet-hero-image-wrapper*/.duet-hero-image-wrapper.sc-duet-hero{position:absolute;top:-60px;right:-50px;width:470px;padding-bottom:470px;margin:0}/*!@.duet-theme-turva .duet-hero-image-wrapper*/.duet-theme-turva.sc-duet-hero .duet-hero-image-wrapper.sc-duet-hero{top:-40px;right:-80px;width:536px;padding-bottom:470px}}@media (min-width: 76.25em){/*!@.duet-hero-image-wrapper*/.duet-hero-image-wrapper.sc-duet-hero{top:-70px;right:-60px;width:600px;padding-bottom:600px}/*!@.duet-theme-turva .duet-hero-image-wrapper*/.duet-theme-turva.sc-duet-hero .duet-hero-image-wrapper.sc-duet-hero{top:-70px;right:-60px;width:650px;padding-bottom:600px}}@media screen and (min-width: 1450px){/*!@.duet-hero-image-wrapper*/.duet-hero-image-wrapper.sc-duet-hero{top:-70px;right:25px}/*!@.duet-theme-turva .duet-hero-image-wrapper*/.duet-theme-turva.sc-duet-hero .duet-hero-image-wrapper.sc-duet-hero{right:0}}/*!@.duet-hero-image-wrapper .duet-hero-image*/.duet-hero-image-wrapper.sc-duet-hero .duet-hero-image.sc-duet-hero{position:absolute;top:-5%;left:-5%;width:110%;height:110%;background-repeat:no-repeat;background-position:50% 50%;background-size:cover;transform:rotate(-10deg)}/*!@.duet-theme-turva .duet-hero-image-wrapper .duet-hero-image*/.duet-theme-turva.sc-duet-hero .duet-hero-image-wrapper.sc-duet-hero .duet-hero-image.sc-duet-hero{top:0;left:0;width:100%;height:100%;transform:none}/*!@.duet-hero-image-mask*/.duet-hero-image-mask.sc-duet-hero{position:relative;margin:-48px auto 0;overflow:hidden}@media (min-width: 62em){/*!@.duet-hero-image-mask*/.duet-hero-image-mask.sc-duet-hero{position:absolute;top:0;right:0;width:470px;height:460px;margin:0}}@media (min-width: 76.25em){/*!@.duet-hero-image-mask*/.duet-hero-image-mask.sc-duet-hero{width:650px;height:580px}}@media screen and (min-width: 1450px){/*!@.duet-hero-image-mask*/.duet-hero-image-mask.sc-duet-hero{right:50%;transform:translateX(110%)}/*!@.duet-theme-turva .duet-hero-image-mask*/.duet-theme-turva.sc-duet-hero .duet-hero-image-mask.sc-duet-hero{transform:translateX(108%)}}/*!@duet-heading + duet-button*/duet-heading.sc-duet-hero+duet-button.sc-duet-hero{margin-top:12px !important}/*!@.duet-hero-links*/.duet-hero-links.sc-duet-hero{width:calc(100% + 56px);margin-top:48px;margin-left:-28px}/*!@.duet-hero-minimal .duet-hero-links*/.duet-hero-minimal.sc-duet-hero .duet-hero-links.sc-duet-hero{margin-top:28px}@media (min-width: 36em){/*!@.duet-hero-links*/.duet-hero-links.sc-duet-hero{margin-top:72px}/*!@.duet-hero-minimal .duet-hero-links*/.duet-hero-minimal.sc-duet-hero .duet-hero-links.sc-duet-hero{margin-top:28px}}@media (min-width: 62em){/*!@.duet-hero-links*/.duet-hero-links.sc-duet-hero{width:auto;margin:36px 0 0}/*!@.duet-hero-minimal .duet-hero-links*/.duet-hero-minimal.sc-duet-hero .duet-hero-links.sc-duet-hero{margin-top:28px}}/*!@.duet-hero-link*/.duet-hero-link.sc-duet-hero{display:flex;align-items:center;width:100%;padding:16px 16px 8px;font-weight:600;-webkit-hyphens:auto;hyphens:auto;line-height:1.25;color:rgb(0, 119, 179);text-align:left;text-decoration:none;border-bottom:1px solid rgb(225, 227, 230);transition:background-color 300ms ease}/*!@.duet-hero-link:focus*/.duet-hero-link.sc-duet-hero:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}/*!@.duet-theme-turva .duet-hero-link:focus, .duet-hero-link:focus.duet-theme-turva*/.duet-theme-turva.sc-duet-hero .duet-hero-link.sc-duet-hero:focus,.duet-hero-link.sc-duet-hero:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@.duet-hero-link:hover, .duet-hero-link:hover .duet-hero-action-arrow*/.duet-hero-link.sc-duet-hero:hover,.duet-hero-link.sc-duet-hero:hover .duet-hero-action-arrow.sc-duet-hero{color:rgb(0, 77, 128) !important;background:transparent !important}/*!@.duet-theme-turva .duet-hero-link:hover, .duet-theme-turva .duet-hero-link:hover .duet-hero-action-arrow*/.duet-theme-turva.sc-duet-hero .duet-hero-link.sc-duet-hero:hover,.duet-theme-turva.sc-duet-hero .duet-hero-link.sc-duet-hero:hover .duet-hero-action-arrow.sc-duet-hero{color:rgb(148, 9, 37) !important}/*!@.duet-theme-turva .duet-hero-link*/.duet-theme-turva.sc-duet-hero .duet-hero-link.sc-duet-hero{color:rgb(198, 12, 48)}@media (min-width: 36em){/*!@.duet-hero-link*/.duet-hero-link.sc-duet-hero{padding:16px 16px 16px 28px}}@media (min-width: 62em){/*!@.duet-hero-link*/.duet-hero-link.sc-duet-hero{display:inline-flex;width:auto;max-width:350px;padding:0;margin:0 28px 16px 0;border:0;border-radius:4px}}/*!@.duet-hero-link:hover*/.duet-hero-link.sc-duet-hero:hover{background:rgba(0, 0, 0, 0.02)}@media (min-width: 62em){/*!@.duet-hero-link:hover*/.duet-hero-link.sc-duet-hero:hover{background:transparent}}/*!@.duet-hero-link:first-of-type*/.duet-hero-link.sc-duet-hero:first-of-type{border-top:1px solid rgb(225, 227, 230)}@media (min-width: 62em){/*!@.duet-hero-link:first-of-type*/.duet-hero-link.sc-duet-hero:first-of-type{margin-top:0;border:0}}/*!@.duet-hero-link:last-of-type*/.duet-hero-link.sc-duet-hero:last-of-type{margin-bottom:-48px}@media (min-width: 62em){/*!@.duet-hero-link:last-of-type*/.duet-hero-link.sc-duet-hero:last-of-type{margin-right:0;margin-bottom:0}}/*!@.duet-hero-link span*/.duet-hero-link.sc-duet-hero span.sc-duet-hero{margin-top:-8px}@media (min-width: 36em){/*!@.duet-hero-link span*/.duet-hero-link.sc-duet-hero span.sc-duet-hero{margin:0}}/*!@.duet-hero-action-icon*/.duet-hero-action-icon.sc-duet-hero{margin-right:8px}@media (min-width: 36em){/*!@.duet-hero-action-icon*/.duet-hero-action-icon.sc-duet-hero{margin-right:12px}}/*!@.duet-hero-action-arrow*/.duet-hero-action-arrow.sc-duet-hero{margin:0 0 0 8px;color:rgb(0, 119, 179)}@media (max-width: 35.9375em){/*!@.duet-hero-action-arrow*/.duet-hero-action-arrow.sc-duet-hero{margin-top:-9px}}/*!@.duet-theme-turva .duet-hero-action-arrow*/.duet-theme-turva.sc-duet-hero .duet-hero-action-arrow.sc-duet-hero{color:rgb(198, 12, 48)}/*!@.duet-hero-back*/.duet-hero-back.sc-duet-hero{margin-bottom:28px !important;display:flex;align-items:center;justify-content:center}/*!@.duet-hero-left-align .duet-hero-back*/.duet-hero-left-align.sc-duet-hero .duet-hero-back.sc-duet-hero{align-items:self-start;justify-content:flex-start}@media (min-width: 36em){/*!@.duet-hero-back*/.duet-hero-back.sc-duet-hero{margin-bottom:36px !important}/*!@.duet-hero-minimal .duet-hero-back*/.duet-hero-minimal.sc-duet-hero .duet-hero-back.sc-duet-hero{margin-bottom:28px !important}}@media (min-width: 62em){/*!@.duet-hero-back*/.duet-hero-back.sc-duet-hero{display:block}}/*!@.duet-hero-pre*/.duet-hero-pre.sc-duet-hero{display:inline-block;width:auto;margin-right:8px}/*!@.duet-hero-pre + duet-heading*/.duet-hero-pre.sc-duet-hero+duet-heading.sc-duet-hero{margin-top:0 !important}";
11948
12032
 
11949
12033
  /**
11950
12034
  * @part duet-hero - piercing selector for styling the hero container
@@ -12013,6 +12097,9 @@ class DuetHero {
12013
12097
  this.hasSubHeadingSlot = !!this.element.querySelector('[slot="subheading"]');
12014
12098
  this.refresh();
12015
12099
  }
12100
+ componentDidLoad() {
12101
+ nudge(this);
12102
+ }
12016
12103
  connectedCallback() {
12017
12104
  connectLanguageChangeObserver(this, {
12018
12105
  prop: "accessibleLabelExternal",
@@ -12197,6 +12284,9 @@ class DuetIcon {
12197
12284
  }
12198
12285
  this.loadIcon();
12199
12286
  }
12287
+ componentDidLoad() {
12288
+ nudge(this);
12289
+ }
12200
12290
  async loadIcon() {
12201
12291
  // static icon known at build-time, so we can set it synchronously
12202
12292
  if (this.icon) {
@@ -12555,6 +12645,7 @@ class DuetInput {
12555
12645
  this.isPasswordRevealed = false;
12556
12646
  });
12557
12647
  }
12648
+ nudge(this);
12558
12649
  }
12559
12650
  connectedCallback() {
12560
12651
  connectLanguageChangeObserver(this);
@@ -12734,6 +12825,9 @@ class DuetLabel {
12734
12825
  componentWillLoad() {
12735
12826
  inheritGlobalTheme(this);
12736
12827
  }
12828
+ componentDidLoad() {
12829
+ nudge(this);
12830
+ }
12737
12831
  /**
12738
12832
  * render() function
12739
12833
  * Always the last one in the class.
@@ -12747,6 +12841,7 @@ class DuetLabel {
12747
12841
  "duet-m-0": this.margin === "none",
12748
12842
  } }, hAsync("label", { htmlFor: this.for }, hAsync("span", null, hAsync("slot", null)))));
12749
12843
  }
12844
+ get element() { return getElement(this); }
12750
12845
  static get style() { return duetLabelCss; }
12751
12846
  static get cmpMeta() { return {
12752
12847
  "$flags$": 6,
@@ -12875,6 +12970,9 @@ class DuetLink {
12875
12970
  componentWillLoad() {
12876
12971
  inheritGlobalTheme(this);
12877
12972
  }
12973
+ componentDidLoad() {
12974
+ nudge(this);
12975
+ }
12878
12976
  connectedCallback() {
12879
12977
  connectLanguageChangeObserver(this, {
12880
12978
  prop: "accessibleLabelExternal",
@@ -12918,6 +13016,7 @@ class DuetLink {
12918
13016
  }, target: this.external ? "_blank" : "_self", "aria-label": this.accessibleLabel, id: this.identifier, ref: el => (this.nativeLink = el), part: "duet-link", rel: this.external ? "noopener" : undefined }, this.variation === "block" ? this.renderGrid() : this.renderContent())));
12919
13017
  }
12920
13018
  static get delegatesFocus() { return true; }
13019
+ get element() { return getElement(this); }
12921
13020
  static get style() { return duetLinkCss; }
12922
13021
  static get cmpMeta() { return {
12923
13022
  "$flags$": 25,
@@ -13376,6 +13475,9 @@ class DuetMenuBarButton {
13376
13475
  componentWillLoad() {
13377
13476
  inheritGlobalTheme(this);
13378
13477
  }
13478
+ componentDidLoad() {
13479
+ nudge(this);
13480
+ }
13379
13481
  connectedCallback() {
13380
13482
  this.changeIconSize();
13381
13483
  for (let i = 0; i < this.mql.length; i++) {
@@ -13492,6 +13594,9 @@ class DuetMenuBarDropdown {
13492
13594
  componentWillLoad() {
13493
13595
  inheritGlobalTheme(this);
13494
13596
  }
13597
+ componentDidLoad() {
13598
+ nudge(this);
13599
+ }
13495
13600
  connectedCallback() {
13496
13601
  this.changeIconSize();
13497
13602
  for (let i = 0; i < this.mql.length; i++) {
@@ -13587,6 +13692,9 @@ class DuetMenuBarDropdownLink {
13587
13692
  componentWillLoad() {
13588
13693
  inheritGlobalTheme(this);
13589
13694
  }
13695
+ componentDidLoad() {
13696
+ nudge(this);
13697
+ }
13590
13698
  handleEscape(e) {
13591
13699
  if (isEscapeKey(e)) {
13592
13700
  const dropdown = this.element.closest("duet-menu-bar-dropdown");
@@ -13653,6 +13761,9 @@ class DuetMenuBarLink {
13653
13761
  componentWillLoad() {
13654
13762
  inheritGlobalTheme(this);
13655
13763
  }
13764
+ componentDidLoad() {
13765
+ nudge(this);
13766
+ }
13656
13767
  connectedCallback() {
13657
13768
  this.changeIconSize();
13658
13769
  for (let i = 0; i < this.mql.length; i++) {
@@ -13712,7 +13823,6 @@ class DuetMenuBarLink {
13712
13823
  */
13713
13824
  class Teleport {
13714
13825
  constructor(element, target) {
13715
- this.isReact = this._isReact();
13716
13826
  this.isActive = false;
13717
13827
  this.element = element;
13718
13828
  this.target = target || document.body;
@@ -13722,13 +13832,12 @@ class Teleport {
13722
13832
  * @param makeSiblingsInert - make all siblings of the element inert, use only with modals
13723
13833
  */
13724
13834
  go(makeSiblingsInert = false) {
13725
- // Teleporting breaks modals in React
13726
- if (this.isReact && makeSiblingsInert) {
13727
- return;
13835
+ // React handles teleporting itself with portals
13836
+ if (!this.element.dataset.reactPortal) {
13837
+ this.stub = document.createElement("template");
13838
+ this.element.insertAdjacentElement("afterend", this.stub);
13839
+ this.target.appendChild(this.element);
13728
13840
  }
13729
- this.stub = document.createElement("div");
13730
- this.element.insertAdjacentElement("afterend", this.stub);
13731
- this.target.appendChild(this.element);
13732
13841
  if (makeSiblingsInert) {
13733
13842
  this._makeSiblingsInert();
13734
13843
  }
@@ -13749,8 +13858,10 @@ class Teleport {
13749
13858
  }
13750
13859
  }
13751
13860
  _resume() {
13752
- this.stub.insertAdjacentElement("beforebegin", this.element);
13753
- this.stub.remove();
13861
+ if (!this.element.dataset.reactPortal) {
13862
+ this.stub.insertAdjacentElement("beforebegin", this.element);
13863
+ this.stub.remove();
13864
+ }
13754
13865
  this._removeInertFromSiblings();
13755
13866
  this.deletionObserver.disconnect();
13756
13867
  }
@@ -13794,9 +13905,6 @@ class Teleport {
13794
13905
  }
13795
13906
  });
13796
13907
  }
13797
- _isReact() {
13798
- return !!Object.keys(document).find(key => key.includes("react"));
13799
- }
13800
13908
  }
13801
13909
 
13802
13910
  const duetModalCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-modal,*.sc-duet-modal::after,*.sc-duet-modal::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-modal-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@.duet-modal-overlay*/.duet-modal-overlay.sc-duet-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;max-height:100vh;overflow-y:auto;visibility:hidden;background:rgba(0, 41, 77, 0.85);opacity:0;transition:300ms ease;transition-delay:200ms}/*!@.duet-modal-overlay.duet-theme-turva*/.duet-modal-overlay.duet-theme-turva.sc-duet-modal{background:rgba(23, 28, 58, 0.85)}/*!@.duet-modal-overlay.duet-modal-active*/.duet-modal-overlay.duet-modal-active.sc-duet-modal{visibility:visible;opacity:1;transition:300ms ease;transition-delay:0s}/*!@.duet-modal-overlay.duet-disable-transitions*/.duet-modal-overlay.duet-disable-transitions.sc-duet-modal{transition:none}/*!@::slotted(img)*/.sc-duet-modal-s>img{width:100%}/*!@.duet-modal-inner*/.duet-modal-inner.sc-duet-modal{display:flex;align-items:center;width:100%;min-height:100%;padding:20px 16px}@media (min-width: 36em){/*!@.duet-modal-inner*/.duet-modal-inner.sc-duet-modal{padding:48px 16px}}@media (max-width: 35.9375em){/*!@.duet-modal-inner.duet-modal-large*/.duet-modal-inner.duet-modal-large.sc-duet-modal{padding-right:0;padding-left:0}}/*!@.duet-modal*/.duet-modal.sc-duet-modal{position:relative;width:100%;max-width:686px;margin:auto;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-weight:400;font-variant-numeric:tabular-nums;line-height:1.5;color:rgb(0, 41, 77);background:rgb(255, 255, 255);border-radius:4px;opacity:0;transition:300ms ease;transition-delay:0ms;transform:scale(0.96)}/*!@.duet-theme-turva .duet-modal*/.duet-theme-turva.sc-duet-modal .duet-modal.sc-duet-modal{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 28, 58)}/*!@.duet-modal-active .duet-modal*/.duet-modal-active.sc-duet-modal .duet-modal.sc-duet-modal{opacity:1;transition:300ms ease;transition-delay:200ms;transform:none}/*!@.duet-disable-transitions .duet-modal*/.duet-disable-transitions.sc-duet-modal .duet-modal.sc-duet-modal{transition:none}/*!@.duet-modal.small*/.duet-modal.small.sc-duet-modal{max-width:545px}/*!@.duet-modal.large*/.duet-modal.large.sc-duet-modal{max-width:100%}@media (min-width: 36em){/*!@.duet-modal.large*/.duet-modal.large.sc-duet-modal{max-width:1110px}}/*!@.duet-modal:focus*/.duet-modal.sc-duet-modal:focus{outline:0}/*!@.duet-modal-body*/.duet-modal-body.sc-duet-modal{width:100%;padding:36px 28px}/*!@.duet-modal-body.duet-modal-gutter-none*/.duet-modal-body.duet-modal-gutter-none.sc-duet-modal{padding:0 !important}/*!@.duet-modal-body.duet-modal-gutter-small*/.duet-modal-body.duet-modal-gutter-small.sc-duet-modal{padding:36px 20px}/*!@.duet-modal-body.duet-modal-gutter-large*/.duet-modal-body.duet-modal-gutter-large.sc-duet-modal{padding:48px 36px}@media (max-width: 22.5em){/*!@.duet-modal-body*/.duet-modal-body.sc-duet-modal{padding:36px 20px}/*!@.duet-modal-body.duet-modal-gutter-large*/.duet-modal-body.duet-modal-gutter-large.sc-duet-modal{padding:48px 28px}}@media (max-width: 35.9375em){/*!@.duet-modal-body*/.duet-modal-body.sc-duet-modal{padding:36px 20px}/*!@.duet-modal-body.duet-modal-gutter-large*/.duet-modal-body.duet-modal-gutter-large.sc-duet-modal{padding:48px 36px}}@media (min-width: 36em){/*!@.duet-modal-body*/.duet-modal-body.sc-duet-modal{padding:36px}/*!@.duet-modal-body.duet-modal-gutter-large*/.duet-modal-body.duet-modal-gutter-large.sc-duet-modal{padding:28px 72px}}@media (min-width: 48em){/*!@.duet-modal-body*/.duet-modal-body.sc-duet-modal{padding:36px 72px}/*!@.duet-modal-body.duet-modal-gutter-large*/.duet-modal-body.duet-modal-gutter-large.sc-duet-modal{padding:36px 72px}}@media (min-width: 76.25em){/*!@.duet-modal-body*/.duet-modal-body.sc-duet-modal{padding:36px 48px 48px}/*!@.duet-modal-body.duet-modal-gutter-large*/.duet-modal-body.duet-modal-gutter-large.sc-duet-modal{padding:48px 94px}/*!@.small .duet-modal-body*/.small.sc-duet-modal .duet-modal-body.sc-duet-modal{padding:36px 48px}}/*!@.duet-modal-header*/.duet-modal-header.sc-duet-modal{text-align:center}/*!@.duet-modal-close*/.duet-modal-close.sc-duet-modal{position:absolute;top:12px;right:12px}/*!@.duet-modal-heading*/.duet-modal-heading.sc-duet-modal{width:100%;padding-right:60px;overflow:hidden;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1.25rem;font-style:normal;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.25;color:rgb(0, 41, 77);text-decoration:none;text-overflow:ellipsis;letter-spacing:-0.01rem;white-space:nowrap}/*!@.duet-modal-heading.duet-p-0*/.duet-modal-heading.duet-p-0.sc-duet-modal{padding:0 !important}/*!@.duet-modal-heading.duet-m-0*/.duet-modal-heading.duet-m-0.sc-duet-modal{margin:0 !important}";
@@ -13911,6 +14019,7 @@ class DuetModal {
13911
14019
  this.open = true;
13912
14020
  this.modalEl.classList.add("duet-disable-transitions");
13913
14021
  }
14022
+ nudge(this);
13914
14023
  }
13915
14024
  connectedCallback() {
13916
14025
  connectLanguageChangeObserver(this, { prop: "accessibleCloseLabel", defaults: "accessibleCloseLabelDefaults" });
@@ -14192,6 +14301,9 @@ class DuetMultiselect {
14192
14301
  this.isCaptionVisible = !!this.caption;
14193
14302
  this.refresh();
14194
14303
  }
14304
+ componentDidLoad() {
14305
+ nudge(this);
14306
+ }
14195
14307
  connectedCallback() {
14196
14308
  connectLanguageChangeObserver(this);
14197
14309
  }
@@ -14337,6 +14449,9 @@ class DuetNotification {
14337
14449
  componentWillLoad() {
14338
14450
  inheritGlobalTheme(this);
14339
14451
  }
14452
+ componentDidLoad() {
14453
+ nudge(this);
14454
+ }
14340
14455
  connectedCallback() {
14341
14456
  connectLanguageChangeObserver(this, { prop: "accessibleLabelUnread", defaults: "accessibleLabelUnreadDefaults" });
14342
14457
  }
@@ -14424,6 +14539,9 @@ class DuetNotificationDrawer {
14424
14539
  inheritGlobalTheme(this);
14425
14540
  this.updateNotificationState();
14426
14541
  }
14542
+ componentDidLoad() {
14543
+ nudge(this);
14544
+ }
14427
14545
  connectedCallback() {
14428
14546
  this.observer = new MutationObserver(this.updateNotificationState);
14429
14547
  this.observer.observe(this.element, { childList: true });
@@ -14820,6 +14938,9 @@ class DuetNumberInput {
14820
14938
  this.value = this.localizeValue(SafeParseFloat(this.value, this.locale));
14821
14939
  }
14822
14940
  }
14941
+ componentDidLoad() {
14942
+ nudge(this);
14943
+ }
14823
14944
  connectedCallback() {
14824
14945
  connectLanguageChangeObserver(this, [
14825
14946
  { prop: "accessibleLive", defaults: "accessibleLiveDefaults" },
@@ -14939,6 +15060,9 @@ class DuetPageHeading {
14939
15060
  componentWillLoad() {
14940
15061
  inheritGlobalTheme(this);
14941
15062
  }
15063
+ componentDidLoad() {
15064
+ nudge(this);
15065
+ }
14942
15066
  /**
14943
15067
  * render() function
14944
15068
  * Always the last one in the class.
@@ -15116,6 +15240,7 @@ class DuetPagination {
15116
15240
  }
15117
15241
  componentDidLoad() {
15118
15242
  this.firstRenderDone = true;
15243
+ nudge(this);
15119
15244
  }
15120
15245
  componentWillRender() {
15121
15246
  if (this.internalSectionIndex !== 0 && this.internalSectionIndex !== this.totalPages) {
@@ -15343,6 +15468,9 @@ class DuetParagraph {
15343
15468
  componentWillLoad() {
15344
15469
  inheritGlobalTheme(this);
15345
15470
  }
15471
+ componentDidLoad() {
15472
+ nudge(this);
15473
+ }
15346
15474
  /**
15347
15475
  * render() function
15348
15476
  * Always the last one in the class.
@@ -16837,6 +16965,9 @@ class DuetPopupMenuItem {
16837
16965
  componentWillLoad() {
16838
16966
  inheritGlobalTheme(this);
16839
16967
  }
16968
+ componentDidLoad() {
16969
+ nudge(this);
16970
+ }
16840
16971
  /**
16841
16972
  * Sets focus. Use this method instead of the global focus().
16842
16973
  */
@@ -16915,6 +17046,9 @@ class DuetProgress {
16915
17046
  componentWillLoad() {
16916
17047
  inheritGlobalTheme(this);
16917
17048
  }
17049
+ componentDidLoad() {
17050
+ nudge(this);
17051
+ }
16918
17052
  connectedCallback() {
16919
17053
  connectLanguageChangeObserver(this, { prop: "accessibleLabelUpload", defaults: "accessibleLabelUploadDefaults" });
16920
17054
  }
@@ -16983,6 +17117,9 @@ class DuetPromoCard {
16983
17117
  this.hasDescriptionSlot = !!this.element.querySelector('[slot="description"]');
16984
17118
  this.hasActionSlot = !!this.element.querySelector('[slot="action"]');
16985
17119
  }
17120
+ componentDidLoad() {
17121
+ nudge(this);
17122
+ }
16986
17123
  /**
16987
17124
  * render() function
16988
17125
  * Always the last one of the class.
@@ -17222,6 +17359,9 @@ class DuetRadioGroup {
17222
17359
  componentWillLoad() {
17223
17360
  inheritGlobalTheme(this);
17224
17361
  }
17362
+ componentDidLoad() {
17363
+ nudge(this);
17364
+ }
17225
17365
  /**
17226
17366
  * Local methods.
17227
17367
  */
@@ -17371,6 +17511,9 @@ class DuetRangeSlider {
17371
17511
  componentWillLoad() {
17372
17512
  inheritGlobalTheme(this);
17373
17513
  }
17514
+ componentDidLoad() {
17515
+ nudge(this);
17516
+ }
17374
17517
  /**
17375
17518
  * Sets focus on the specified `duet-range-slider`. Use this method instead of the global
17376
17519
  * `input.focus()`.
@@ -17526,6 +17669,7 @@ class DuetRangeStepper {
17526
17669
  }
17527
17670
  componentDidLoad() {
17528
17671
  this.watchStepIndexStateHandler(this.stepIndex);
17672
+ nudge(this);
17529
17673
  }
17530
17674
  connectedCallback() {
17531
17675
  connectLanguageChangeObserver(this, { prop: "ariaLabels", defaults: "ariaLabelsDefaults" });
@@ -17672,14 +17816,15 @@ class DuetScrollable {
17672
17816
  */
17673
17817
  componentWillLoad() {
17674
17818
  inheritGlobalTheme(this);
17675
- this.hasCollapseButtonLabelSlot = Array.from(this.host.children).filter(el => el.matches("[slot='collapse-button-label']")).length > 0
17819
+ this.hasCollapseButtonLabelSlot = Array.from(this.element.children).filter(el => el.matches("[slot='collapse-button-label']")).length > 0
17676
17820
  ;
17677
- const slotted = Array.from(this.host.children).filter(el => el.matches("[slot='collapse-button-label']"))
17821
+ const slotted = Array.from(this.element.children).filter(el => el.matches("[slot='collapse-button-label']"))
17678
17822
  ;
17679
17823
  this.childrenData = { hasChildren: slotted && slotted.length > 0, numberOfChildren: slotted && slotted.length };
17680
17824
  }
17681
17825
  componentDidLoad() {
17682
17826
  this.resizeObserver.observe(this.tabListElement);
17827
+ nudge(this);
17683
17828
  }
17684
17829
  disconnectedCallback() {
17685
17830
  this.resizeObserver.disconnect();
@@ -17689,11 +17834,11 @@ class DuetScrollable {
17689
17834
  */
17690
17835
  getLastVisibleElement() {
17691
17836
  const clientWidth = this.tabListElement.clientWidth;
17692
- const xValues = Array.from(this.host.querySelectorAll("button")).findIndex(element => element.getBoundingClientRect().x > clientWidth);
17837
+ const xValues = Array.from(this.element.querySelectorAll("button")).findIndex(element => element.getBoundingClientRect().x > clientWidth);
17693
17838
  return xValues;
17694
17839
  }
17695
17840
  getFirstVisibleElement() {
17696
- const buttonCollection = this.host.querySelectorAll("button");
17841
+ const buttonCollection = this.element.querySelectorAll("button");
17697
17842
  // reverse the array because we want the first invisible element form the middle, not the first in the list
17698
17843
  const arrayOfXValues = Array.from(buttonCollection).map(el => el.getBoundingClientRect().x - el.getBoundingClientRect().width);
17699
17844
  const xValues = arrayOfXValues.findIndex(element => {
@@ -17728,7 +17873,7 @@ class DuetScrollable {
17728
17873
  if (index < 0) {
17729
17874
  index = 0;
17730
17875
  }
17731
- const buttons = this.host.querySelectorAll("button");
17876
+ const buttons = this.element.querySelectorAll("button");
17732
17877
  // store previous position
17733
17878
  let prevPosition = buttons[0].getBoundingClientRect().x;
17734
17879
  // iterations to run
@@ -17790,7 +17935,7 @@ class DuetScrollable {
17790
17935
  "duet-scrollable-button--occluded": !this.isTabContentSmallerThanWrapper,
17791
17936
  }, onClick: () => this.scrollRight(), disabled: this.tablistAtEnd, tabindex: "-1", hidden: !this.buttons }, hAsync("duet-icon", { name: "action-arrow-right-small", size: "small", margin: "none" })))));
17792
17937
  }
17793
- get host() { return getElement(this); }
17938
+ get element() { return getElement(this); }
17794
17939
  static get watchers() { return {
17795
17940
  "selected": ["watchPropHandler"]
17796
17941
  }; }
@@ -17962,6 +18107,9 @@ class DuetSelect {
17962
18107
  this.isCaptionVisible = !!this.caption;
17963
18108
  this.refresh();
17964
18109
  }
18110
+ componentDidLoad() {
18111
+ nudge(this);
18112
+ }
17965
18113
  /**
17966
18114
  * Sets focus on the specified `duet-select`. Use this method instead of the global
17967
18115
  * `select.focus()`.
@@ -18173,6 +18321,9 @@ class DuetShowMore {
18173
18321
  inheritGlobalTheme(this);
18174
18322
  this.buttonAriaOpen = this.open;
18175
18323
  }
18324
+ componentDidLoad() {
18325
+ nudge(this);
18326
+ }
18176
18327
  connectedCallback() {
18177
18328
  connectLanguageChangeObserver(this, [
18178
18329
  { prop: "showMoreLabel", defaults: "showMoreLabelDefaults" },
@@ -18408,6 +18559,9 @@ class DuetSlideoutLang {
18408
18559
  componentWillLoad() {
18409
18560
  inheritGlobalTheme(this);
18410
18561
  }
18562
+ componentDidLoad() {
18563
+ nudge(this);
18564
+ }
18411
18565
  connectedCallback() {
18412
18566
  connectLanguageChangeObserver(this);
18413
18567
  }
@@ -18458,6 +18612,9 @@ class DuetSlideoutLink {
18458
18612
  componentWillLoad() {
18459
18613
  inheritGlobalTheme(this);
18460
18614
  }
18615
+ componentDidLoad() {
18616
+ nudge(this);
18617
+ }
18461
18618
  /**
18462
18619
  * render() function
18463
18620
  * Always the last one in the class.
@@ -18549,6 +18706,9 @@ class DuetSlideoutPanel {
18549
18706
  inheritGlobalTheme(this);
18550
18707
  this.updateLabel();
18551
18708
  }
18709
+ componentDidLoad() {
18710
+ nudge(this);
18711
+ }
18552
18712
  connectedCallback() {
18553
18713
  connectLanguageChangeObserver(this);
18554
18714
  }
@@ -18652,6 +18812,9 @@ class DuetSlideoutPanelDropdown {
18652
18812
  link.menuItem = true;
18653
18813
  });
18654
18814
  }
18815
+ componentDidLoad() {
18816
+ nudge(this);
18817
+ }
18655
18818
  /**
18656
18819
  * Sets focus. Use this method instead of the global focus().
18657
18820
  */
@@ -18828,6 +18991,9 @@ class DuetStep {
18828
18991
  componentWillLoad() {
18829
18992
  inheritGlobalTheme(this);
18830
18993
  }
18994
+ componentDidLoad() {
18995
+ nudge(this);
18996
+ }
18831
18997
  /**
18832
18998
  * Programmatically shift focus to the step's heading.
18833
18999
  */
@@ -18934,6 +19100,9 @@ class DuetStepper {
18934
19100
  componentWillLoad() {
18935
19101
  inheritGlobalTheme(this);
18936
19102
  }
19103
+ componentDidLoad() {
19104
+ nudge(this);
19105
+ }
18937
19106
  async connectedCallback() {
18938
19107
  this.updateStepState();
18939
19108
  }
@@ -19075,6 +19244,9 @@ class DuetSubmenuBar {
19075
19244
  child.setAttribute("role", "listitem");
19076
19245
  }
19077
19246
  }
19247
+ componentDidLoad() {
19248
+ nudge(this);
19249
+ }
19078
19250
  connectedCallback() {
19079
19251
  this.nav = document.querySelector("duet-nav > [slot='mobile']");
19080
19252
  this.hasItems = this.checkIfHasItems();
@@ -19195,6 +19367,9 @@ class DuetSubmenuBarDropdown {
19195
19367
  componentWillLoad() {
19196
19368
  inheritGlobalTheme(this);
19197
19369
  }
19370
+ componentDidLoad() {
19371
+ nudge(this);
19372
+ }
19198
19373
  connectedCallback() {
19199
19374
  this.checkIsDesktop();
19200
19375
  for (let i = 0; i < this.mql.length; i++) {
@@ -19289,6 +19464,9 @@ class DuetSubmenuBarDropdownLink {
19289
19464
  componentWillLoad() {
19290
19465
  inheritGlobalTheme(this);
19291
19466
  }
19467
+ componentDidLoad() {
19468
+ nudge(this);
19469
+ }
19292
19470
  handleEscape(e) {
19293
19471
  if (isEscapeKey(e)) {
19294
19472
  const dropdown = this.element.closest("duet-submenu-bar-dropdown");
@@ -19357,6 +19535,9 @@ class DuetSubmenuBarLink {
19357
19535
  componentWillLoad() {
19358
19536
  inheritGlobalTheme(this);
19359
19537
  }
19538
+ componentDidLoad() {
19539
+ nudge(this);
19540
+ }
19360
19541
  connectedCallback() {
19361
19542
  this.changeIconSize();
19362
19543
  for (let i = 0; i < this.mql.length; i++) {
@@ -19426,6 +19607,9 @@ class DuetTab {
19426
19607
  /**
19427
19608
  * Component lifecycle events.
19428
19609
  */
19610
+ componentDidLoad() {
19611
+ nudge(this);
19612
+ }
19429
19613
  connectedCallback() {
19430
19614
  connectLanguageChangeObserver(this, { prop: "accessibleDescription", defaults: "accessibleDescriptionDefault" });
19431
19615
  }
@@ -19438,6 +19622,7 @@ class DuetTab {
19438
19622
  */
19439
19623
  render() {
19440
19624
  }
19625
+ get element() { return getElement(this); }
19441
19626
  static get style() { return duetTabCss; }
19442
19627
  static get cmpMeta() { return {
19443
19628
  "$flags$": 6,
@@ -19573,6 +19758,7 @@ class DuetTabGroup {
19573
19758
  }
19574
19759
  componentDidLoad() {
19575
19760
  this.scrollToActive();
19761
+ nudge(this);
19576
19762
  }
19577
19763
  /**
19578
19764
  * This method allows you to open any of the tabs by calling the method and
@@ -19963,6 +20149,9 @@ class DuetTextarea {
19963
20149
  console.warn("[DUET WARNING]: counter requires counter-label to be set");
19964
20150
  }
19965
20151
  }
20152
+ componentDidLoad() {
20153
+ nudge(this);
20154
+ }
19966
20155
  /**
19967
20156
  * Sets focus on the specified `duet-textarea`. Use this method instead of the global
19968
20157
  * `textarea.focus()`.
@@ -20091,6 +20280,9 @@ class DuetToggle {
20091
20280
  this.value = this.identifier;
20092
20281
  }
20093
20282
  }
20283
+ componentDidLoad() {
20284
+ nudge(this);
20285
+ }
20094
20286
  /**
20095
20287
  * Sets focus on the specified `duet-toggle`. Use this method instead of the global
20096
20288
  * `input.focus()`.
@@ -20225,6 +20417,9 @@ class DuetToolbarDropdown {
20225
20417
  componentWillLoad() {
20226
20418
  inheritGlobalTheme(this);
20227
20419
  }
20420
+ componentDidLoad() {
20421
+ nudge(this);
20422
+ }
20228
20423
  handleEscape(e) {
20229
20424
  if (isEscapeKey(e)) {
20230
20425
  this.open = false;
@@ -20295,6 +20490,9 @@ class DuetToolbarDropdownLink {
20295
20490
  componentWillLoad() {
20296
20491
  inheritGlobalTheme(this);
20297
20492
  }
20493
+ componentDidLoad() {
20494
+ nudge(this);
20495
+ }
20298
20496
  handleEscape(e) {
20299
20497
  if (isEscapeKey(e)) {
20300
20498
  const dropdown = this.element.closest("duet-toolbar-dropdown");
@@ -20349,6 +20547,9 @@ class DuetToolbarLink {
20349
20547
  componentWillLoad() {
20350
20548
  inheritGlobalTheme(this);
20351
20549
  }
20550
+ componentDidLoad() {
20551
+ nudge(this);
20552
+ }
20352
20553
  /**
20353
20554
  * render() function
20354
20555
  * Always the last one in the class.
@@ -20393,7 +20594,6 @@ class DuetTooltip {
20393
20594
  this.openTooltip = () => {
20394
20595
  this.active = true;
20395
20596
  this.focusTarget = "tooltip";
20396
- this.teleport.go();
20397
20597
  };
20398
20598
  this.closeTooltip = (moveFocusToButton = false) => {
20399
20599
  this.active = false;
@@ -20401,7 +20601,6 @@ class DuetTooltip {
20401
20601
  this.focusTarget = "trigger";
20402
20602
  }
20403
20603
  setTimeout(() => {
20404
- this.teleport.resume();
20405
20604
  this.updatePlacement();
20406
20605
  }, 200);
20407
20606
  };
@@ -20470,12 +20669,12 @@ class DuetTooltip {
20470
20669
  async componentDidLoad() {
20471
20670
  this.arrowEl = await this.popupElement.getArrowElement();
20472
20671
  this.contentEl = await this.popupElement.getContentElement();
20473
- this.teleport = new Teleport(this.popupElement);
20474
20672
  if (this.active) {
20475
20673
  this.openTooltip();
20476
20674
  }
20477
20675
  this.intersectionObserver = new IntersectionObserver(this.updatePlacement, { root: document.body });
20478
20676
  this.intersectionObserver.observe(this.element);
20677
+ nudge(this);
20479
20678
  }
20480
20679
  componentDidUpdate() {
20481
20680
  switch (this.focusTarget) {
@@ -20538,7 +20737,7 @@ class DuetTooltip {
20538
20737
  }
20539
20738
  async handleActiveChange(newActiveValue) {
20540
20739
  if (newActiveValue) {
20541
- this.updatePlacement();
20740
+ setTimeout(() => this.updatePlacement(), 10);
20542
20741
  }
20543
20742
  else {
20544
20743
  setTimeout(() => this.updatePlacement(), 300);
@@ -20622,6 +20821,9 @@ class DuetTooltipButton {
20622
20821
  componentWillLoad() {
20623
20822
  inheritGlobalTheme(this);
20624
20823
  }
20824
+ componentDidLoad() {
20825
+ nudge(this);
20826
+ }
20625
20827
  async setFocus(options) {
20626
20828
  if (this.buttonElement) {
20627
20829
  this.buttonElement.focus(options);
@@ -20677,11 +20879,23 @@ class DuetTooltipPopup {
20677
20879
  this.placement = undefined;
20678
20880
  this.accessibleCloseLabel = undefined;
20679
20881
  }
20882
+ handleActiveChange() {
20883
+ if (this.active) {
20884
+ this.teleport.go();
20885
+ }
20886
+ else {
20887
+ this.teleport.resume(200);
20888
+ }
20889
+ }
20680
20890
  /**
20681
20891
  * Component lifecycle events.
20682
20892
  */
20683
20893
  componentWillLoad() {
20684
20894
  inheritGlobalTheme(this);
20895
+ this.teleport = new Teleport(this.element);
20896
+ }
20897
+ componentDidLoad() {
20898
+ nudge(this);
20685
20899
  }
20686
20900
  async getArrowElement() {
20687
20901
  return this.arrowEl;
@@ -20700,6 +20914,9 @@ class DuetTooltipPopup {
20700
20914
  } }, hAsync(FocusGuard, { moveFocusTo: this.buttonEl }), hAsync("div", { ref: element => (this.contentEl = element), class: "duet-tooltip-content-area", tabindex: 0, id: this.tooltipId }, hAsync("slot", null)), hAsync("div", { ref: element => (this.arrowEl = element), class: { arrow: true, [this.placement]: true }, style: this.arrowStyles }, hAsync("div", { class: { "arrow-container": true, [this.placement]: true } })), hAsync("button", { type: "button", class: "duet-tooltip-close", onClick: this.handleCloseClick, ref: el => (this.buttonEl = el) }, hAsync("duet-icon", { name: "navigation-close-small", margin: "none", color: "currentColor", size: "xxx-small" }), hAsync("duet-visually-hidden", null, this.accessibleCloseLabel)), hAsync(FocusGuard, { moveFocusTo: this.contentEl }))));
20701
20915
  }
20702
20916
  get element() { return getElement(this); }
20917
+ static get watchers() { return {
20918
+ "active": ["handleActiveChange"]
20919
+ }; }
20703
20920
  static get style() { return duetTooltipPopupCss; }
20704
20921
  static get cmpMeta() { return {
20705
20922
  "$flags$": 9,
@@ -20774,6 +20991,9 @@ class DuetTray {
20774
20991
  inheritGlobalTheme(this);
20775
20992
  this.hasAdditionalContent = !!this.element.querySelector("[slot='additional']");
20776
20993
  }
20994
+ componentDidLoad() {
20995
+ nudge(this);
20996
+ }
20777
20997
  connectedCallback() {
20778
20998
  connectLanguageChangeObserver(this, [
20779
20999
  { prop: "accessibleOpenLabel", defaults: "accessibleOpenLabelDefaults" },
@@ -21836,6 +22056,9 @@ class DuetUpload {
21836
22056
  this.onReady();
21837
22057
  this.externalUploadButton = document.querySelector(`#${this.externalUploadButtonId}`);
21838
22058
  }
22059
+ componentDidLoad() {
22060
+ nudge(this);
22061
+ }
21839
22062
  componentWillRender() {
21840
22063
  // listen to the events from the component
21841
22064
  this.verifyValidity();
@@ -22184,6 +22407,12 @@ class DuetUploadAriaStatus {
22184
22407
  this.getStatusMessage();
22185
22408
  }
22186
22409
  }
22410
+ /**
22411
+ * Component lifecycle events.
22412
+ */
22413
+ componentDidLoad() {
22414
+ nudge(this);
22415
+ }
22187
22416
  /**
22188
22417
  * render() function
22189
22418
  * Always the last one in the class.
@@ -22191,6 +22420,7 @@ class DuetUploadAriaStatus {
22191
22420
  render() {
22192
22421
  return (hAsync(Host, { role: "status", "aria-live": "assertive", "aria-atomic": "true", "aria-relevant": "all" }, hAsync("duet-visually-hidden", null, this.statusMessage)));
22193
22422
  }
22423
+ get element() { return getElement(this); }
22194
22424
  static get watchers() { return {
22195
22425
  "valid": ["watchHandler"],
22196
22426
  "invalid": ["watchHandler"],
@@ -22261,6 +22491,9 @@ class DuetUploadItem {
22261
22491
  componentWillLoad() {
22262
22492
  inheritGlobalTheme(this);
22263
22493
  }
22494
+ componentDidLoad() {
22495
+ nudge(this);
22496
+ }
22264
22497
  /**
22265
22498
  * focusActionButton.
22266
22499
  */
@@ -22296,6 +22529,7 @@ class DuetUploadItem {
22296
22529
  return (hAsync("duet-action-button", { actionMeta: Object.assign({}, meta || {}), actionId: uid || null, actionName: actionItem.name, theme: this.theme, iconName: actionItem.icon, iconColor: actionItem.color, iconSize: actionItem.size, background: actionItem.background, "accessible-label": `${actionDescription} ${getLocaleString(actionItem.label)} `, accessibleTitle: false, ref: button => (this.actionButton = button) }));
22297
22530
  }))));
22298
22531
  }
22532
+ get element() { return getElement(this); }
22299
22533
  static get cmpMeta() { return {
22300
22534
  "$flags$": 0,
22301
22535
  "$tagName$": "duet-upload-item",
@@ -22324,6 +22558,9 @@ class DuetVisuallyHidden {
22324
22558
  constructor(hostRef) {
22325
22559
  registerInstance(this, hostRef);
22326
22560
  }
22561
+ componentDidLoad() {
22562
+ nudge(this);
22563
+ }
22327
22564
  /**
22328
22565
  * render() function
22329
22566
  * Always the last one in the class.
@@ -22331,6 +22568,7 @@ class DuetVisuallyHidden {
22331
22568
  render() {
22332
22569
  return (hAsync(Host, { class: "duet-visually-hidden" }, hAsync("slot", null)));
22333
22570
  }
22571
+ get element() { return getElement(this); }
22334
22572
  static get style() { return duetVisuallyHiddenCss; }
22335
22573
  static get cmpMeta() { return {
22336
22574
  "$flags$": 9,