@duetds/components 10.5.0 → 10.7.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 (479) hide show
  1. package/hydrate/index.js +658 -282
  2. package/hydrate/index.mjs +658 -282
  3. package/lib/cjs/{a11y-utils-DaAO4N9d.js → a11y-utils-DmCjy3Q3.js} +1 -1
  4. package/lib/cjs/{app-globals-CHNvdfQj.js → app-globals-D1tikFob.js} +1 -1
  5. package/lib/cjs/duet-action-button.cjs.entry.js +6 -6
  6. package/lib/cjs/duet-alert.cjs.entry.js +4 -4
  7. package/lib/cjs/duet-badge.cjs.entry.js +7 -7
  8. package/lib/cjs/duet-banner.cjs.entry.js +17 -18
  9. package/lib/cjs/duet-breadcrumb.cjs.entry.js +7 -7
  10. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +7 -7
  11. package/lib/cjs/duet-button_2.cjs.entry.js +8 -8
  12. package/lib/cjs/duet-callout.cjs.entry.js +5 -5
  13. package/lib/cjs/duet-caption_4.cjs.entry.js +11 -11
  14. package/lib/cjs/duet-card.cjs.entry.js +22 -10
  15. package/lib/cjs/duet-checkbox.cjs.entry.js +3 -3
  16. package/lib/cjs/duet-checkmark.cjs.entry.js +4 -4
  17. package/lib/cjs/duet-chip.cjs.entry.js +28 -12
  18. package/lib/cjs/duet-choice_2.cjs.entry.js +7 -7
  19. package/lib/cjs/duet-collapsible.cjs.entry.js +4 -4
  20. package/lib/cjs/duet-combobox.cjs.entry.js +7 -17
  21. package/lib/cjs/duet-contact-card.cjs.entry.js +18 -7
  22. package/lib/cjs/duet-cookie-consent.cjs.entry.js +3 -3
  23. package/lib/cjs/duet-date-picker.cjs.entry.js +127 -14
  24. package/lib/cjs/duet-divider_2.cjs.entry.js +5 -5
  25. package/lib/cjs/duet-editable-table_3.cjs.entry.js +15 -15
  26. package/lib/cjs/duet-empty-state.cjs.entry.js +2 -2
  27. package/lib/cjs/duet-fieldset.cjs.entry.js +6 -6
  28. package/lib/cjs/duet-file-chooser.cjs.entry.js +2 -2
  29. package/lib/cjs/duet-footer.cjs.entry.js +5 -5
  30. package/lib/cjs/duet-grid_2.cjs.entry.js +12 -8
  31. package/lib/cjs/duet-header_2.cjs.entry.js +7 -7
  32. package/lib/cjs/duet-hero.cjs.entry.js +27 -21
  33. package/lib/cjs/duet-icon.cjs.entry.js +7 -7
  34. package/lib/cjs/duet-indicator.cjs.entry.js +5 -5
  35. package/lib/cjs/duet-input_2.cjs.entry.js +70 -18
  36. package/lib/cjs/duet-layout.cjs.entry.js +7 -7
  37. package/lib/cjs/duet-list_2.cjs.entry.js +5 -5
  38. package/lib/cjs/duet-menu-bar-button.cjs.entry.js +4 -4
  39. package/lib/cjs/duet-menu-bar-dropdown-link.cjs.entry.js +5 -5
  40. package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +7 -7
  41. package/lib/cjs/duet-menu-bar-item.cjs.entry.js +7 -7
  42. package/lib/cjs/duet-menu-bar-link.cjs.entry.js +4 -4
  43. package/lib/cjs/duet-menu-bar.cjs.entry.js +6 -6
  44. package/lib/cjs/duet-modal.cjs.entry.js +15 -15
  45. package/lib/cjs/duet-multiselect.cjs.entry.js +11 -11
  46. package/lib/cjs/duet-nav.cjs.entry.js +3 -3
  47. package/lib/cjs/duet-notification_2.cjs.entry.js +10 -10
  48. package/lib/cjs/duet-number-input.cjs.entry.js +9 -9
  49. package/lib/cjs/duet-overlay.cjs.entry.js +3 -3
  50. package/lib/cjs/duet-page-heading.cjs.entry.js +6 -6
  51. package/lib/cjs/duet-pagination_2.cjs.entry.js +19 -19
  52. package/lib/cjs/duet-panel.cjs.entry.js +4 -4
  53. package/lib/cjs/duet-phone-input.cjs.entry.js +11 -6
  54. package/lib/cjs/duet-popup-menu_2.cjs.entry.js +10 -10
  55. package/lib/cjs/duet-progress.cjs.entry.js +3 -3
  56. package/lib/cjs/duet-promo-card.cjs.entry.js +20 -8
  57. package/lib/cjs/duet-radio_2.cjs.entry.js +7 -7
  58. package/lib/cjs/duet-range-slider.cjs.entry.js +8 -8
  59. package/lib/cjs/duet-scrollable_3.cjs.entry.js +18 -18
  60. package/lib/cjs/duet-section-layout.cjs.entry.js +4 -4
  61. package/lib/cjs/duet-select.cjs.entry.js +9 -9
  62. package/lib/cjs/duet-shaped-image.cjs.entry.js +4 -4
  63. package/lib/cjs/duet-share-chart-item.cjs.entry.js +2 -2
  64. package/lib/cjs/duet-share-chart.cjs.entry.js +8 -8
  65. package/lib/cjs/duet-show-more.cjs.entry.js +6 -6
  66. package/lib/cjs/duet-slideout-lang.cjs.entry.js +4 -4
  67. package/lib/cjs/duet-slideout-link.cjs.entry.js +7 -7
  68. package/lib/cjs/duet-slideout-panel-dropdown.cjs.entry.js +6 -6
  69. package/lib/cjs/duet-slideout-panel.cjs.entry.js +13 -13
  70. package/lib/cjs/duet-slideout.cjs.entry.js +20 -14
  71. package/lib/cjs/duet-status-icon.cjs.entry.js +3 -3
  72. package/lib/cjs/duet-step_2.cjs.entry.js +7 -7
  73. package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +5 -5
  74. package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +7 -7
  75. package/lib/cjs/duet-submenu-bar-item.cjs.entry.js +7 -7
  76. package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +4 -4
  77. package/lib/cjs/duet-submenu-bar.cjs.entry.js +7 -7
  78. package/lib/cjs/duet-teaser.cjs.entry.js +110 -0
  79. package/lib/cjs/duet-textarea.cjs.entry.js +8 -8
  80. package/lib/cjs/duet-toggle.cjs.entry.js +9 -9
  81. package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +5 -5
  82. package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +7 -7
  83. package/lib/cjs/duet-toolbar-item.cjs.entry.js +8 -8
  84. package/lib/cjs/duet-toolbar-link.cjs.entry.js +4 -4
  85. package/lib/cjs/duet-toolbar.cjs.entry.js +4 -4
  86. package/lib/cjs/duet-tooltip-button_2.cjs.entry.js +10 -10
  87. package/lib/cjs/duet-tooltip.cjs.entry.js +5 -5
  88. package/lib/cjs/duet-tray.cjs.entry.js +7 -7
  89. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +2 -2
  90. package/lib/cjs/duet-upload-item.cjs.entry.js +6 -6
  91. package/lib/cjs/duet-visually-hidden.cjs.entry.js +2 -2
  92. package/lib/cjs/duet.cjs.js +3 -3
  93. package/lib/cjs/{errorcodes.utils-Dkf_MfrJ.js → errorcodes.utils-Di-nO8ua.js} +1 -1
  94. package/lib/cjs/{focus-utils-BuGg0Oha.js → focus-utils-uEO1pi2O.js} +1 -1
  95. package/lib/cjs/{index-ZxE6MB5V.js → index-BGRMvA4R.js} +13 -9
  96. package/lib/cjs/{keyboard-utils-D9UlHbik.js → keyboard-utils-DibQafwg.js} +2 -0
  97. package/lib/cjs/{label-CpPOBfjS.js → label-CwgdRt0Q.js} +1 -1
  98. package/lib/cjs/{language-utils-C7Z0KYg-.js → language-utils-CrB5zNlc.js} +1 -1
  99. package/lib/cjs/loader.cjs.js +3 -3
  100. package/lib/cjs/picture-utils-CZhgDlXJ.js +20 -0
  101. package/lib/cjs/{slot-utils-BXdHT3A1.js → slot-utils-4v5bqyQh.js} +1 -1
  102. package/lib/cjs/{themeable-component-CIDaln0Z.js → themeable-component-I4SEm6nQ.js} +1 -1
  103. package/lib/cjs/{token-utils-DY3-olMV.js → token-utils-ZISdNshf.js} +1 -1
  104. package/lib/cjs/{tokens.module-CTbvyezn.js → tokens.module-CGRpZaa1.js} +2 -1
  105. package/lib/collection/collection-manifest.json +1 -0
  106. package/lib/collection/components/duet-action-button/duet-action-button.js +2 -2
  107. package/lib/collection/components/duet-alert/duet-alert.js +1 -1
  108. package/lib/collection/components/duet-badge/duet-badge.js +2 -2
  109. package/lib/collection/components/duet-banner/duet-banner.css +12 -0
  110. package/lib/collection/components/duet-banner/duet-banner.js +51 -7
  111. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumb.js +4 -4
  112. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.js +2 -2
  113. package/lib/collection/components/duet-button/duet-button.js +8 -8
  114. package/lib/collection/components/duet-callout/duet-callout.js +2 -2
  115. package/lib/collection/components/duet-caption/duet-caption.js +1 -1
  116. package/lib/collection/components/duet-card/duet-card.css +3 -0
  117. package/lib/collection/components/duet-card/duet-card.js +63 -7
  118. package/lib/collection/components/duet-checkbox/duet-checkbox.js +3 -3
  119. package/lib/collection/components/duet-chip/duet-chip.js +53 -17
  120. package/lib/collection/components/duet-choice/duet-checkmark.js +2 -2
  121. package/lib/collection/components/duet-choice/duet-choice.js +3 -3
  122. package/lib/collection/components/duet-choice-group/duet-choice-group.js +2 -2
  123. package/lib/collection/components/duet-collapsible/duet-collapsible.js +3 -3
  124. package/lib/collection/components/duet-combobox/duet-combobox.js +4 -16
  125. package/lib/collection/components/duet-contact-card/duet-contact-card.css +3 -0
  126. package/lib/collection/components/duet-contact-card/duet-contact-card.js +58 -2
  127. package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.js +1 -1
  128. package/lib/collection/components/duet-date-picker/date-picker-month.js +4 -2
  129. package/lib/collection/components/duet-date-picker/date-utils.js +7 -0
  130. package/lib/collection/components/duet-date-picker/disallowed-days.js +23 -0
  131. package/lib/collection/components/duet-date-picker/duet-date-picker.js +100 -10
  132. package/lib/collection/components/duet-date-picker/finnish-bank-holidays.js +66 -0
  133. package/lib/collection/components/duet-divider/duet-divider.js +1 -1
  134. package/lib/collection/components/duet-editable-table/duet-editable-table.js +5 -5
  135. package/lib/collection/components/duet-empty-state/duet-empty-state.js +3 -3
  136. package/lib/collection/components/duet-fieldset/duet-fieldset.js +3 -3
  137. package/lib/collection/components/duet-file-chooser/duet-file-chooser.js +1 -1
  138. package/lib/collection/components/duet-footer/duet-footer.js +7 -7
  139. package/lib/collection/components/duet-grid/duet-grid.css +22 -0
  140. package/lib/collection/components/duet-grid/duet-grid.js +17 -8
  141. package/lib/collection/components/duet-grid-item/duet-grid-item.js +2 -2
  142. package/lib/collection/components/duet-header/duet-header.js +15 -15
  143. package/lib/collection/components/duet-heading/duet-heading.js +1 -1
  144. package/lib/collection/components/duet-hero/duet-hero.css +235 -144
  145. package/lib/collection/components/duet-hero/duet-hero.js +72 -21
  146. package/lib/collection/components/duet-icon/duet-icon.js +3 -3
  147. package/lib/collection/components/duet-indicator/duet-indicator.js +3 -3
  148. package/lib/collection/components/duet-input/duet-input.js +73 -20
  149. package/lib/collection/components/duet-label/duet-label.js +2 -2
  150. package/lib/collection/components/duet-layout/duet-layout.js +6 -6
  151. package/lib/collection/components/duet-link/duet-link.js +2 -2
  152. package/lib/collection/components/duet-list/duet-list.js +4 -4
  153. package/lib/collection/components/duet-list-item/duet-list-item.js +2 -2
  154. package/lib/collection/components/duet-logo/duet-logo.js +2 -2
  155. package/lib/collection/components/duet-menu-bar/duet-menu-bar.js +4 -4
  156. package/lib/collection/components/duet-menu-bar-button/duet-menu-bar-button.js +2 -2
  157. package/lib/collection/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.js +4 -4
  158. package/lib/collection/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.js +2 -2
  159. package/lib/collection/components/duet-menu-bar-item/duet-menu-bar-item.js +2 -2
  160. package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.js +2 -2
  161. package/lib/collection/components/duet-modal/duet-modal.js +11 -11
  162. package/lib/collection/components/duet-multiselect/duet-multiselect.js +11 -11
  163. package/lib/collection/components/duet-nav/duet-nav.js +1 -1
  164. package/lib/collection/components/duet-notification/duet-notification.js +2 -2
  165. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.js +4 -4
  166. package/lib/collection/components/duet-number-input/duet-number-input.js +8 -8
  167. package/lib/collection/components/duet-overlay/duet-overlay.js +2 -2
  168. package/lib/collection/components/duet-page-heading/duet-page-heading.js +3 -3
  169. package/lib/collection/components/duet-pagination/duet-pagination.js +13 -13
  170. package/lib/collection/components/duet-panel/duet-panel.js +3 -3
  171. package/lib/collection/components/duet-paragraph/duet-paragraph.js +5 -5
  172. package/lib/collection/components/duet-phone-input/duet-phone-input.js +30 -5
  173. package/lib/collection/components/duet-popup-menu/duet-popup-menu.js +1 -1
  174. package/lib/collection/components/duet-popup-menu-item/duet-popup-menu-item.js +4 -4
  175. package/lib/collection/components/duet-promo-card/duet-promo-card.css +4 -0
  176. package/lib/collection/components/duet-promo-card/duet-promo-card.js +58 -2
  177. package/lib/collection/components/duet-radio/duet-radio.js +6 -6
  178. package/lib/collection/components/duet-radio-group/duet-radio-group.js +1 -1
  179. package/lib/collection/components/duet-range-slider/duet-range-slider.js +4 -4
  180. package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +3 -3
  181. package/lib/collection/components/duet-scrollable/duet-scrollable.js +5 -5
  182. package/lib/collection/components/duet-section-layout/duet-section-layout.js +3 -3
  183. package/lib/collection/components/duet-select/duet-select.js +10 -10
  184. package/lib/collection/components/duet-shaped-image/duet-shaped-image.js +2 -2
  185. package/lib/collection/components/duet-share-chart/duet-share-chart.js +2 -2
  186. package/lib/collection/components/duet-share-chart-item/duet-share-chart-item.js +1 -1
  187. package/lib/collection/components/duet-show-more/duet-show-more.js +3 -3
  188. package/lib/collection/components/duet-slideout/duet-slideout.js +12 -6
  189. package/lib/collection/components/duet-slideout-lang/duet-slideout-lang.js +1 -1
  190. package/lib/collection/components/duet-slideout-link/duet-slideout-link.js +2 -2
  191. package/lib/collection/components/duet-slideout-panel/duet-slideout-panel.js +6 -6
  192. package/lib/collection/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.js +4 -4
  193. package/lib/collection/components/duet-spacer/duet-spacer.js +3 -3
  194. package/lib/collection/components/duet-spinner/duet-spinner.js +2 -2
  195. package/lib/collection/components/duet-status-icon/duet-status-icon.js +2 -2
  196. package/lib/collection/components/duet-step/duet-step.js +4 -4
  197. package/lib/collection/components/duet-stepper/duet-stepper.js +2 -2
  198. package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.js +5 -5
  199. package/lib/collection/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.js +4 -4
  200. package/lib/collection/components/duet-submenu-bar-dropdown-link/duet-submenu-bar-dropdown-link.js +2 -2
  201. package/lib/collection/components/duet-submenu-bar-item/duet-submenu-bar-item.js +1 -1
  202. package/lib/collection/components/duet-submenu-bar-link/duet-submenu-bar-link.js +1 -1
  203. package/lib/collection/components/duet-tab/duet-tab.js +2 -2
  204. package/lib/collection/components/duet-tab-group/duet-tab-group.js +9 -9
  205. package/lib/collection/components/duet-table/duet-table-styles.js +5 -5
  206. package/lib/collection/components/duet-table/duet-table.js +2 -2
  207. package/lib/collection/components/duet-teaser/duet-teaser.css +127 -0
  208. package/lib/collection/components/duet-teaser/duet-teaser.js +462 -0
  209. package/lib/collection/components/duet-textarea/duet-textarea.js +7 -7
  210. package/lib/collection/components/duet-toggle/duet-toggle.js +4 -4
  211. package/lib/collection/components/duet-toolbar/duet-toolbar.js +2 -2
  212. package/lib/collection/components/duet-toolbar-dropdown/duet-toolbar-dropdown.js +4 -4
  213. package/lib/collection/components/duet-toolbar-dropdown-link/duet-toolbar-dropdown-link.js +2 -2
  214. package/lib/collection/components/duet-toolbar-item/duet-toolbar-item.js +3 -3
  215. package/lib/collection/components/duet-toolbar-link/duet-toolbar-link.js +2 -2
  216. package/lib/collection/components/duet-tooltip/duet-tooltip-button.js +3 -3
  217. package/lib/collection/components/duet-tooltip/duet-tooltip-popup.js +3 -3
  218. package/lib/collection/components/duet-tooltip/duet-tooltip.js +1 -1
  219. package/lib/collection/components/duet-tray/duet-tray.js +2 -2
  220. package/lib/collection/components/duet-upload/duet-upload.js +16 -16
  221. package/lib/collection/components/duet-upload-aria-status/duet-upload-aria-status.js +1 -1
  222. package/lib/collection/components/duet-upload-item/duet-upload-item.js +4 -4
  223. package/lib/collection/components/duet-visually-hidden/duet-visually-hidden.js +1 -1
  224. package/lib/collection/utils/keyboard-utils.js +1 -0
  225. package/lib/collection/utils/picture-utils.js +6 -1
  226. package/lib/duet/duet.esm.js +1 -1
  227. package/lib/duet/{p-61ec0e1c.entry.js → p-017873ec.entry.js} +1 -1
  228. package/lib/duet/{p-b1326cbb.entry.js → p-047af1e2.entry.js} +1 -1
  229. package/lib/duet/{p-516397ba.entry.js → p-058fcc72.entry.js} +1 -1
  230. package/lib/duet/p-05a6360b.entry.js +4 -0
  231. package/lib/duet/p-05b5ef84.entry.js +4 -0
  232. package/lib/duet/{p-6ef683d5.entry.js → p-07d43c60.entry.js} +1 -1
  233. package/lib/duet/{p-52beb436.entry.js → p-0ab559fb.entry.js} +1 -1
  234. package/lib/duet/{p-fe829b53.entry.js → p-0acf9bcf.entry.js} +1 -1
  235. package/lib/duet/{p-d3baa815.entry.js → p-0c42cc61.entry.js} +1 -1
  236. package/lib/duet/{p-443af533.entry.js → p-0df7094e.entry.js} +1 -1
  237. package/lib/duet/p-10baba94.entry.js +4 -0
  238. package/lib/duet/{p-30108edc.entry.js → p-1358a396.entry.js} +1 -1
  239. package/lib/duet/{p-70961edb.entry.js → p-1498e4a8.entry.js} +1 -1
  240. package/lib/duet/p-16d5dd2c.entry.js +4 -0
  241. package/lib/duet/p-1ec31f22.entry.js +4 -0
  242. package/lib/duet/{p-d6f0afa5.entry.js → p-2013545d.entry.js} +1 -1
  243. package/lib/duet/p-2265c46a.entry.js +4 -0
  244. package/lib/duet/{p-f040706c.entry.js → p-2394b3cd.entry.js} +1 -1
  245. package/lib/duet/{p-d779fe42.entry.js → p-2b17c517.entry.js} +1 -1
  246. package/lib/duet/{p-c54be349.entry.js → p-2f0f3a4a.entry.js} +1 -1
  247. package/lib/duet/{p-a9104184.entry.js → p-3ce04abc.entry.js} +1 -1
  248. package/lib/duet/{p-dedf6a32.entry.js → p-420df0aa.entry.js} +1 -1
  249. package/lib/duet/{p-c216e746.entry.js → p-430fad4e.entry.js} +1 -1
  250. package/lib/duet/p-453001ea.entry.js +4 -0
  251. package/lib/duet/{p-fa13ffe9.entry.js → p-4695398d.entry.js} +1 -1
  252. package/lib/duet/p-4bc7198d.entry.js +4 -0
  253. package/lib/duet/p-4e028274.entry.js +4 -0
  254. package/lib/duet/{p-8b0dfbd7.entry.js → p-5be103d0.entry.js} +1 -1
  255. package/lib/duet/{p-407f7f03.entry.js → p-5e5b6dc7.entry.js} +1 -1
  256. package/lib/duet/{p-42ec7305.entry.js → p-5fc88879.entry.js} +1 -1
  257. package/lib/duet/{p-e08dce92.entry.js → p-6865e880.entry.js} +1 -1
  258. package/lib/duet/{p-cb6c4158.entry.js → p-68a9ffb5.entry.js} +1 -1
  259. package/lib/duet/{p-b747f6e9.entry.js → p-69bcb076.entry.js} +1 -1
  260. package/lib/duet/p-71da8fbe.entry.js +4 -0
  261. package/lib/duet/{p-20a8ef81.entry.js → p-76e2c659.entry.js} +1 -1
  262. package/lib/duet/{p-74aac967.entry.js → p-7f5387dd.entry.js} +1 -1
  263. package/lib/duet/{p-110c7572.entry.js → p-84ed366e.entry.js} +1 -1
  264. package/lib/duet/{p-a8876b3d.entry.js → p-868647de.entry.js} +1 -1
  265. package/lib/duet/{p-a483117e.entry.js → p-8ad4bb4c.entry.js} +1 -1
  266. package/lib/duet/{p-3690576a.entry.js → p-8b9ffff4.entry.js} +1 -1
  267. package/lib/duet/{p-461d4089.entry.js → p-8da66626.entry.js} +1 -1
  268. package/lib/duet/{p-9ae7aaef.entry.js → p-8ea85c31.entry.js} +1 -1
  269. package/lib/duet/p-940a87e7.entry.js +4 -0
  270. package/lib/duet/{p-268b3066.entry.js → p-99550717.entry.js} +1 -1
  271. package/lib/duet/{p-8ace1eb4.entry.js → p-9987420d.entry.js} +1 -1
  272. package/lib/duet/{p-833802f9.entry.js → p-9d41df85.entry.js} +1 -1
  273. package/lib/duet/{p-3f7afd87.entry.js → p-9dee0205.entry.js} +1 -1
  274. package/lib/duet/{p-CFqvB5PA.js → p-B0XOGsB6.js} +1 -1
  275. package/lib/duet/p-B44ykle6.js +4 -0
  276. package/lib/duet/{p-R3pTP2Oy.js → p-B5SMAn1G.js} +1 -1
  277. package/lib/duet/p-BAiGBGTO.js +4 -0
  278. package/lib/duet/p-BWz_ChlU.js +4 -0
  279. package/lib/duet/p-BaefVzkx.js +4 -0
  280. package/lib/duet/{p-B8-N_qjs.js → p-Bnup2-sN.js} +1 -1
  281. package/lib/duet/p-C6rGA5IU.js +4 -0
  282. package/lib/duet/p-D4MpGrUR.js +5 -0
  283. package/lib/duet/p-DSNAI2Lx.js +4 -0
  284. package/lib/duet/{p-D2ly4TZR.js → p-DYmL1tSl.js} +1 -1
  285. package/lib/duet/{p-C5Yfx2kd.js → p-DtprEjjN.js} +1 -1
  286. package/lib/duet/{p-38973524.entry.js → p-a2106abd.entry.js} +1 -1
  287. package/lib/duet/p-a2a2f775.entry.js +4 -0
  288. package/lib/duet/{p-3277233e.entry.js → p-a2f7ef35.entry.js} +1 -1
  289. package/lib/duet/{p-829db926.entry.js → p-a62e6d8d.entry.js} +1 -1
  290. package/lib/duet/{p-40fa7371.entry.js → p-a6dc8c7d.entry.js} +1 -1
  291. package/lib/duet/{p-02d8e844.entry.js → p-a944ffff.entry.js} +1 -1
  292. package/lib/duet/{p-4b7f1244.entry.js → p-aebcf484.entry.js} +1 -1
  293. package/lib/duet/{p-bdbf0fae.entry.js → p-b2f0905a.entry.js} +1 -1
  294. package/lib/duet/p-b3a7ef62.entry.js +4 -0
  295. package/lib/duet/{p-70612314.entry.js → p-b4a1c719.entry.js} +1 -1
  296. package/lib/duet/p-b5204ec2.entry.js +4 -0
  297. package/lib/duet/{p-8012c7bc.entry.js → p-b58cfa18.entry.js} +1 -1
  298. package/lib/duet/{p-2dd7d75e.entry.js → p-b69946d4.entry.js} +1 -1
  299. package/lib/duet/{p-317e81f3.entry.js → p-b7351bfd.entry.js} +1 -1
  300. package/lib/duet/{p-3b2fba0f.entry.js → p-b7bb7472.entry.js} +1 -1
  301. package/lib/duet/{p-d3b5c997.entry.js → p-b9e97305.entry.js} +1 -1
  302. package/lib/duet/p-bb7fa0cf.entry.js +4 -0
  303. package/lib/duet/p-bef7eed7.entry.js +4 -0
  304. package/lib/duet/p-bffae8f6.entry.js +4 -0
  305. package/lib/duet/{p-c1afac0d.entry.js → p-c26e2123.entry.js} +1 -1
  306. package/lib/duet/{p-e7f2359a.entry.js → p-c49a72ad.entry.js} +1 -1
  307. package/lib/duet/{p-1da7703d.entry.js → p-c5c63d0f.entry.js} +1 -1
  308. package/lib/duet/{p-43e076b5.entry.js → p-c9a12663.entry.js} +1 -1
  309. package/lib/duet/{p-a5177d32.entry.js → p-ccaf5c28.entry.js} +1 -1
  310. package/lib/duet/{p-7fd39204.entry.js → p-d78923f9.entry.js} +1 -1
  311. package/lib/duet/p-d8383f1a.entry.js +4 -0
  312. package/lib/duet/{p-3f35fce3.entry.js → p-e3d91f53.entry.js} +1 -1
  313. package/lib/duet/p-e78af675.entry.js +4 -0
  314. package/lib/duet/{p-9e1a59d1.entry.js → p-e9a7215b.entry.js} +1 -1
  315. package/lib/duet/p-ebe55a34.entry.js +4 -0
  316. package/lib/duet/{p-efa4eecc.entry.js → p-ef340dc6.entry.js} +1 -1
  317. package/lib/duet/{p-317a1fc0.entry.js → p-f17438c7.entry.js} +1 -1
  318. package/lib/duet/{p-7353ee4c.entry.js → p-f264879d.entry.js} +1 -1
  319. package/lib/duet/p-f61ebeb1.entry.js +4 -0
  320. package/lib/duet/p-f647f09e.entry.js +4 -0
  321. package/lib/duet/p-f89da74c.entry.js +4 -0
  322. package/lib/duet/{p-2f8a47e2.entry.js → p-f959ca52.entry.js} +1 -1
  323. package/lib/duet/{p-19863cdf.entry.js → p-fb0f6212.entry.js} +1 -1
  324. package/lib/duet/p-fb59f80d.entry.js +4 -0
  325. package/lib/duet/{p-7eea47d5.entry.js → p-feae1702.entry.js} +1 -1
  326. package/lib/duet/p-kkZE1C6Z.js +4 -0
  327. package/lib/esm/{a11y-utils-ChN5Nhxh.js → a11y-utils-DZqe1lDK.js} +1 -1
  328. package/lib/esm/{app-globals-4kCk2rkO.js → app-globals-Byl9AdI1.js} +1 -1
  329. package/lib/esm/duet-action-button.entry.js +6 -6
  330. package/lib/esm/duet-alert.entry.js +4 -4
  331. package/lib/esm/duet-badge.entry.js +7 -7
  332. package/lib/esm/duet-banner.entry.js +17 -18
  333. package/lib/esm/duet-breadcrumb.entry.js +7 -7
  334. package/lib/esm/duet-breadcrumbs.entry.js +7 -7
  335. package/lib/esm/duet-button_2.entry.js +8 -8
  336. package/lib/esm/duet-callout.entry.js +5 -5
  337. package/lib/esm/duet-caption_4.entry.js +11 -11
  338. package/lib/esm/duet-card.entry.js +23 -11
  339. package/lib/esm/duet-checkbox.entry.js +3 -3
  340. package/lib/esm/duet-checkmark.entry.js +4 -4
  341. package/lib/esm/duet-chip.entry.js +28 -12
  342. package/lib/esm/duet-choice_2.entry.js +7 -7
  343. package/lib/esm/duet-collapsible.entry.js +4 -4
  344. package/lib/esm/duet-combobox.entry.js +7 -17
  345. package/lib/esm/duet-contact-card.entry.js +18 -7
  346. package/lib/esm/duet-cookie-consent.entry.js +3 -3
  347. package/lib/esm/duet-date-picker.entry.js +127 -14
  348. package/lib/esm/duet-divider_2.entry.js +5 -5
  349. package/lib/esm/duet-editable-table_3.entry.js +15 -15
  350. package/lib/esm/duet-empty-state.entry.js +2 -2
  351. package/lib/esm/duet-fieldset.entry.js +6 -6
  352. package/lib/esm/duet-file-chooser.entry.js +2 -2
  353. package/lib/esm/duet-footer.entry.js +5 -5
  354. package/lib/esm/duet-grid_2.entry.js +12 -8
  355. package/lib/esm/duet-header_2.entry.js +7 -7
  356. package/lib/esm/duet-hero.entry.js +27 -21
  357. package/lib/esm/duet-icon.entry.js +7 -7
  358. package/lib/esm/duet-indicator.entry.js +5 -5
  359. package/lib/esm/duet-input_2.entry.js +70 -18
  360. package/lib/esm/duet-layout.entry.js +7 -7
  361. package/lib/esm/duet-list_2.entry.js +5 -5
  362. package/lib/esm/duet-menu-bar-button.entry.js +4 -4
  363. package/lib/esm/duet-menu-bar-dropdown-link.entry.js +5 -5
  364. package/lib/esm/duet-menu-bar-dropdown.entry.js +7 -7
  365. package/lib/esm/duet-menu-bar-item.entry.js +7 -7
  366. package/lib/esm/duet-menu-bar-link.entry.js +4 -4
  367. package/lib/esm/duet-menu-bar.entry.js +6 -6
  368. package/lib/esm/duet-modal.entry.js +15 -15
  369. package/lib/esm/duet-multiselect.entry.js +11 -11
  370. package/lib/esm/duet-nav.entry.js +3 -3
  371. package/lib/esm/duet-notification_2.entry.js +10 -10
  372. package/lib/esm/duet-number-input.entry.js +9 -9
  373. package/lib/esm/duet-overlay.entry.js +3 -3
  374. package/lib/esm/duet-page-heading.entry.js +6 -6
  375. package/lib/esm/duet-pagination_2.entry.js +19 -19
  376. package/lib/esm/duet-panel.entry.js +4 -4
  377. package/lib/esm/duet-phone-input.entry.js +11 -6
  378. package/lib/esm/duet-popup-menu_2.entry.js +10 -10
  379. package/lib/esm/duet-progress.entry.js +3 -3
  380. package/lib/esm/duet-promo-card.entry.js +20 -8
  381. package/lib/esm/duet-radio_2.entry.js +7 -7
  382. package/lib/esm/duet-range-slider.entry.js +8 -8
  383. package/lib/esm/duet-scrollable_3.entry.js +18 -18
  384. package/lib/esm/duet-section-layout.entry.js +4 -4
  385. package/lib/esm/duet-select.entry.js +9 -9
  386. package/lib/esm/duet-shaped-image.entry.js +4 -4
  387. package/lib/esm/duet-share-chart-item.entry.js +2 -2
  388. package/lib/esm/duet-share-chart.entry.js +8 -8
  389. package/lib/esm/duet-show-more.entry.js +6 -6
  390. package/lib/esm/duet-slideout-lang.entry.js +4 -4
  391. package/lib/esm/duet-slideout-link.entry.js +7 -7
  392. package/lib/esm/duet-slideout-panel-dropdown.entry.js +6 -6
  393. package/lib/esm/duet-slideout-panel.entry.js +13 -13
  394. package/lib/esm/duet-slideout.entry.js +20 -14
  395. package/lib/esm/duet-status-icon.entry.js +3 -3
  396. package/lib/esm/duet-step_2.entry.js +7 -7
  397. package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +5 -5
  398. package/lib/esm/duet-submenu-bar-dropdown.entry.js +7 -7
  399. package/lib/esm/duet-submenu-bar-item.entry.js +7 -7
  400. package/lib/esm/duet-submenu-bar-link.entry.js +4 -4
  401. package/lib/esm/duet-submenu-bar.entry.js +7 -7
  402. package/lib/esm/duet-teaser.entry.js +108 -0
  403. package/lib/esm/duet-textarea.entry.js +8 -8
  404. package/lib/esm/duet-toggle.entry.js +9 -9
  405. package/lib/esm/duet-toolbar-dropdown-link.entry.js +5 -5
  406. package/lib/esm/duet-toolbar-dropdown.entry.js +7 -7
  407. package/lib/esm/duet-toolbar-item.entry.js +8 -8
  408. package/lib/esm/duet-toolbar-link.entry.js +4 -4
  409. package/lib/esm/duet-toolbar.entry.js +4 -4
  410. package/lib/esm/duet-tooltip-button_2.entry.js +10 -10
  411. package/lib/esm/duet-tooltip.entry.js +5 -5
  412. package/lib/esm/duet-tray.entry.js +7 -7
  413. package/lib/esm/duet-upload-aria-status.entry.js +2 -2
  414. package/lib/esm/duet-upload-item.entry.js +6 -6
  415. package/lib/esm/duet-visually-hidden.entry.js +2 -2
  416. package/lib/esm/duet.js +4 -4
  417. package/lib/esm/{errorcodes.utils-DuFCu_27.js → errorcodes.utils-KA3z1KuW.js} +1 -1
  418. package/lib/esm/{focus-utils-CFswdkeD.js → focus-utils-id9x3opi.js} +1 -1
  419. package/lib/esm/{index-B2cboDWM.js → index-D4MpGrUR.js} +13 -9
  420. package/lib/esm/{keyboard-utils-Db8rvjPI.js → keyboard-utils-BaefVzkx.js} +2 -1
  421. package/lib/esm/{label-CJxIWUOT.js → label-Caev3m-F.js} +1 -1
  422. package/lib/esm/{language-utils-C4M4ASkT.js → language-utils-DTyUbpD-.js} +1 -1
  423. package/lib/esm/loader.js +4 -4
  424. package/lib/esm/picture-utils-4PMNZDR2.js +18 -0
  425. package/lib/esm/{slot-utils--sNK1DNn.js → slot-utils-BhEk4zKY.js} +1 -1
  426. package/lib/esm/{themeable-component-BBi3552X.js → themeable-component-B_d7Klmd.js} +1 -1
  427. package/lib/esm/{token-utils-B0KAgyj_.js → token-utils-BILzD7LX.js} +1 -1
  428. package/lib/esm/{tokens.module-DEzE2U5T.js → tokens.module-kkZE1C6Z.js} +1 -1
  429. package/lib/types/components/duet-banner/duet-banner.d.ts +10 -1
  430. package/lib/types/components/duet-button/duet-button.d.ts +1 -1
  431. package/lib/types/components/duet-card/duet-card.d.ts +10 -0
  432. package/lib/types/components/duet-chip/duet-chip.d.ts +15 -8
  433. package/lib/types/components/duet-combobox/duet-combobox.d.ts +0 -1
  434. package/lib/types/components/duet-contact-card/duet-contact-card.d.ts +10 -0
  435. package/lib/types/components/duet-date-picker/date-picker-month.d.ts +3 -0
  436. package/lib/types/components/duet-date-picker/date-utils.d.ts +4 -0
  437. package/lib/types/components/duet-date-picker/disallowed-days.d.ts +9 -0
  438. package/lib/types/components/duet-date-picker/duet-date-picker.d.ts +14 -0
  439. package/lib/types/components/duet-date-picker/finnish-bank-holidays.d.ts +11 -0
  440. package/lib/types/components/duet-grid/duet-grid.d.ts +2 -1
  441. package/lib/types/components/duet-hero/duet-hero.d.ts +10 -0
  442. package/lib/types/components/duet-input/duet-input.d.ts +11 -0
  443. package/lib/types/components/duet-phone-input/duet-phone-input.d.ts +5 -0
  444. package/lib/types/components/duet-promo-card/duet-promo-card.d.ts +11 -0
  445. package/lib/types/components/duet-teaser/duet-teaser.d.ts +93 -0
  446. package/lib/types/components.d.ts +291 -14
  447. package/lib/types/utils/keyboard-utils.d.ts +1 -0
  448. package/lib/types/utils/picture-utils.d.ts +4 -0
  449. package/package.json +5 -5
  450. package/lib/duet/p-06297bd8.entry.js +0 -4
  451. package/lib/duet/p-0c04f9f5.entry.js +0 -4
  452. package/lib/duet/p-18a8ea12.entry.js +0 -4
  453. package/lib/duet/p-1bca9931.entry.js +0 -4
  454. package/lib/duet/p-3f3c6e64.entry.js +0 -4
  455. package/lib/duet/p-4af6a8ed.entry.js +0 -4
  456. package/lib/duet/p-5284c707.entry.js +0 -4
  457. package/lib/duet/p-5c9f443c.entry.js +0 -4
  458. package/lib/duet/p-5f5f72d4.entry.js +0 -4
  459. package/lib/duet/p-5lFzA17H.js +0 -4
  460. package/lib/duet/p-6b469225.entry.js +0 -4
  461. package/lib/duet/p-7294c37d.entry.js +0 -4
  462. package/lib/duet/p-72b504ef.entry.js +0 -4
  463. package/lib/duet/p-734249e0.entry.js +0 -4
  464. package/lib/duet/p-7c08fd87.entry.js +0 -4
  465. package/lib/duet/p-83238bf3.entry.js +0 -4
  466. package/lib/duet/p-86ffd3cb.entry.js +0 -4
  467. package/lib/duet/p-871620d3.entry.js +0 -4
  468. package/lib/duet/p-93ff8fe4.entry.js +0 -4
  469. package/lib/duet/p-9c9811ba.entry.js +0 -4
  470. package/lib/duet/p-B2cboDWM.js +0 -5
  471. package/lib/duet/p-BzYmwX5_.js +0 -4
  472. package/lib/duet/p-Cg4m_WHe.js +0 -4
  473. package/lib/duet/p-DEzE2U5T.js +0 -4
  474. package/lib/duet/p-Db8rvjPI.js +0 -4
  475. package/lib/duet/p-a068c086.entry.js +0 -4
  476. package/lib/duet/p-c2026c6b.entry.js +0 -4
  477. package/lib/duet/p-cbcee3e2.entry.js +0 -4
  478. package/lib/duet/p-d5f90dbc.entry.js +0 -4
  479. package/lib/duet/p-s8EL6NG5.js +0 -4
@@ -149,7 +149,17 @@
149
149
  height: 220px;
150
150
  margin: 0 auto;
151
151
  }
152
+ .duet-hero.duet-hero-campaign .background picture, .duet-hero.duet-hero-section .background picture {
153
+ display: block;
154
+ height: 100%;
155
+ }
156
+ @media (min-width: 1440px) {
157
+ .duet-hero.duet-hero-campaign .background picture, .duet-hero.duet-hero-section .background picture {
158
+ height: auto;
159
+ }
160
+ }
152
161
  .duet-hero.duet-hero-campaign .background img, .duet-hero.duet-hero-section .background img {
162
+ display: block;
153
163
  height: 100%;
154
164
  }
155
165
  .duet-hero.duet-hero-campaign .background img.cover, .duet-hero.duet-hero-section .background img.cover {
@@ -607,11 +617,19 @@
607
617
  z-index: 1;
608
618
  width: 600px;
609
619
  height: 256px;
610
- background-repeat: no-repeat;
611
- background-position: 40px;
612
- background-size: 100%;
613
620
  transform: rotate(-7deg) translate(-50%, 0);
614
621
  }
622
+ .duet-hero.duet-hero-product .background .brand-shaped-image .brand-shaped-image-bg picture {
623
+ display: block;
624
+ }
625
+ .duet-hero.duet-hero-product .background .brand-shaped-image .brand-shaped-image-bg img {
626
+ position: absolute;
627
+ top: 50%;
628
+ left: 40px;
629
+ width: 100%;
630
+ height: auto;
631
+ transform: translateY(-50%);
632
+ }
615
633
  @media (max-width: 35.9375em) {
616
634
  .duet-hero.duet-hero-product .background .brand-shaped-image .brand-shaped-image-bg {
617
635
  width: 520px;
@@ -1079,10 +1097,18 @@
1079
1097
  z-index: 1;
1080
1098
  width: 600px;
1081
1099
  height: 256px;
1082
- background-repeat: no-repeat;
1083
- background-size: 100%;
1084
1100
  transform: rotate(-7deg) translate(-50%, 0);
1085
1101
  }
1102
+ .duet-hero.duet-hero-content .background .brand-shaped-image .brand-shaped-image-bg picture {
1103
+ display: block;
1104
+ }
1105
+ .duet-hero.duet-hero-content .background .brand-shaped-image .brand-shaped-image-bg img {
1106
+ position: absolute;
1107
+ top: 0;
1108
+ left: 0;
1109
+ width: 100%;
1110
+ height: auto;
1111
+ }
1086
1112
  @media (min-width: 48em) {
1087
1113
  .duet-hero.duet-hero-content .background .brand-shaped-image .brand-shaped-image-bg {
1088
1114
  width: 733px;
@@ -1243,14 +1269,32 @@
1243
1269
  }
1244
1270
 
1245
1271
  .duet-hero:not(.duet-hero-with-image) .duet-hero-image {
1272
+ position: relative;
1246
1273
  width: 100%;
1247
1274
  max-width: 400px;
1248
1275
  height: 0;
1249
1276
  padding-bottom: 50%;
1250
1277
  margin: 28px auto 0;
1251
- background-repeat: no-repeat;
1252
- background-position: 50% 50%;
1253
- background-size: contain;
1278
+ }
1279
+ .duet-hero:not(.duet-hero-with-image) .duet-hero-image picture {
1280
+ display: block;
1281
+ }
1282
+ .duet-hero:not(.duet-hero-with-image) .duet-hero-image img {
1283
+ position: absolute;
1284
+ top: 0;
1285
+ right: 0;
1286
+ bottom: 0;
1287
+ left: 0;
1288
+ width: 100%;
1289
+ height: 100%;
1290
+ object-fit: contain;
1291
+ object-position: 50% 50%;
1292
+ }
1293
+ .duet-hero:not(.duet-hero-with-image) .duet-hero-image img.cover {
1294
+ object-fit: cover;
1295
+ }
1296
+ .duet-hero:not(.duet-hero-with-image) .duet-hero-image img.center {
1297
+ object-position: center;
1254
1298
  }
1255
1299
  @media (min-width: 36em) {
1256
1300
  .duet-hero:not(.duet-hero-with-image) .duet-hero-image {
@@ -1339,11 +1383,22 @@
1339
1383
  left: -5%;
1340
1384
  width: 110%;
1341
1385
  height: 110%;
1342
- background-repeat: no-repeat;
1343
- background-position: 50% 50%;
1344
- background-size: cover;
1345
1386
  transform: rotate(-10deg);
1346
1387
  }
1388
+ .duet-hero-image-wrapper .duet-hero-image picture {
1389
+ display: block;
1390
+ }
1391
+ .duet-hero-image-wrapper .duet-hero-image img {
1392
+ position: absolute;
1393
+ top: 0;
1394
+ right: 0;
1395
+ bottom: 0;
1396
+ left: 0;
1397
+ width: 100%;
1398
+ height: 100%;
1399
+ object-fit: cover;
1400
+ object-position: 50% 50%;
1401
+ }
1347
1402
 
1348
1403
  .duet-hero-image-mask {
1349
1404
  position: relative;
@@ -1540,21 +1595,21 @@ duet-heading + duet-button {
1540
1595
  font-family: "turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
1541
1596
  background: rgb(230, 23, 64);
1542
1597
  }
1543
- .duet-hero.duet-hero-light.duet-theme-turva, .duet-hero.duet-hero-with-image.duet-theme-turva {
1598
+ .duet-hero.duet-theme-turva.duet-hero-light, .duet-hero.duet-theme-turva.duet-hero-with-image {
1544
1599
  color: rgb(23, 42, 59);
1545
1600
  background-image: linear-gradient(rgb(253, 247, 242), #fefbf9);
1546
1601
  }
1547
- .duet-hero.duet-hero-light.duet-theme-turva::before, .duet-hero.duet-hero-with-image.duet-theme-turva::before {
1602
+ .duet-hero.duet-theme-turva.duet-hero-light::before, .duet-hero.duet-theme-turva.duet-hero-with-image::before {
1548
1603
  background-image: linear-gradient(#fefbf9, rgb(255, 255, 255));
1549
1604
  }
1550
- .duet-hero.duet-hero-gray.duet-theme-turva {
1605
+ .duet-hero.duet-theme-turva.duet-hero-gray {
1551
1606
  background: rgb(245, 246, 247);
1552
1607
  }
1553
- .duet-hero.duet-hero-campaign.duet-theme-turva, .duet-hero.duet-hero-section.duet-theme-turva {
1608
+ .duet-hero.duet-theme-turva.duet-hero-campaign, .duet-hero.duet-theme-turva.duet-hero-section {
1554
1609
  font-family: "turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
1555
1610
  background: none;
1556
1611
  }
1557
- .duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape, .duet-hero.duet-hero-section.duet-theme-turva .brand-shape {
1612
+ .duet-hero.duet-theme-turva.duet-hero-campaign .brand-shape, .duet-hero.duet-theme-turva.duet-hero-section .brand-shape {
1558
1613
  top: 125px;
1559
1614
  left: -10px;
1560
1615
  width: 350px;
@@ -1567,7 +1622,7 @@ duet-heading + duet-button {
1567
1622
  transform: none;
1568
1623
  }
1569
1624
  @media (min-width: 22.5em) {
1570
- .duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape, .duet-hero.duet-hero-section.duet-theme-turva .brand-shape {
1625
+ .duet-hero.duet-theme-turva.duet-hero-campaign .brand-shape, .duet-hero.duet-theme-turva.duet-hero-section .brand-shape {
1571
1626
  top: 143px;
1572
1627
  left: -30px;
1573
1628
  width: 450px;
@@ -1575,7 +1630,7 @@ duet-heading + duet-button {
1575
1630
  }
1576
1631
  }
1577
1632
  @media (min-width: 36em) {
1578
- .duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape, .duet-hero.duet-hero-section.duet-theme-turva .brand-shape {
1633
+ .duet-hero.duet-theme-turva.duet-hero-campaign .brand-shape, .duet-hero.duet-theme-turva.duet-hero-section .brand-shape {
1579
1634
  top: 180px;
1580
1635
  left: 0;
1581
1636
  width: 550px;
@@ -1583,114 +1638,114 @@ duet-heading + duet-button {
1583
1638
  }
1584
1639
  }
1585
1640
  @media (min-width: 48em) {
1586
- .duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape, .duet-hero.duet-hero-section.duet-theme-turva .brand-shape {
1641
+ .duet-hero.duet-theme-turva.duet-hero-campaign .brand-shape, .duet-hero.duet-theme-turva.duet-hero-section .brand-shape {
1587
1642
  top: 220px;
1588
1643
  width: 712.18px;
1589
1644
  height: 712.18px;
1590
1645
  }
1591
1646
  }
1592
1647
  @media (min-width: 62em) {
1593
- .duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape, .duet-hero.duet-hero-section.duet-theme-turva .brand-shape {
1648
+ .duet-hero.duet-theme-turva.duet-hero-campaign .brand-shape, .duet-hero.duet-theme-turva.duet-hero-section .brand-shape {
1594
1649
  top: 230px;
1595
1650
  }
1596
1651
  }
1597
1652
  @media (min-width: 76.25em) {
1598
- .duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape, .duet-hero.duet-hero-section.duet-theme-turva .brand-shape {
1653
+ .duet-hero.duet-theme-turva.duet-hero-campaign .brand-shape, .duet-hero.duet-theme-turva.duet-hero-section .brand-shape {
1599
1654
  top: 260px;
1600
1655
  }
1601
1656
  }
1602
1657
  @media (min-width: 106.25em) {
1603
- .duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape, .duet-hero.duet-hero-section.duet-theme-turva .brand-shape {
1658
+ .duet-hero.duet-theme-turva.duet-hero-campaign .brand-shape, .duet-hero.duet-theme-turva.duet-hero-section .brand-shape {
1604
1659
  top: 290px;
1605
1660
  }
1606
1661
  }
1607
- .duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,
1608
- .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,
1609
- .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph {
1662
+ .duet-hero.duet-theme-turva.duet-hero-campaign .duet-hero-text .duet-hero-subheading,
1663
+ .duet-hero.duet-theme-turva.duet-hero-campaign .duet-hero-text duet-paragraph, .duet-hero.duet-theme-turva.duet-hero-section .duet-hero-text .duet-hero-subheading,
1664
+ .duet-hero.duet-theme-turva.duet-hero-section .duet-hero-text duet-paragraph {
1610
1665
  width: 98%;
1611
1666
  }
1612
1667
  @media (min-width: 22.5em) {
1613
- .duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,
1614
- .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,
1615
- .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph {
1668
+ .duet-hero.duet-theme-turva.duet-hero-campaign .duet-hero-text .duet-hero-subheading,
1669
+ .duet-hero.duet-theme-turva.duet-hero-campaign .duet-hero-text duet-paragraph, .duet-hero.duet-theme-turva.duet-hero-section .duet-hero-text .duet-hero-subheading,
1670
+ .duet-hero.duet-theme-turva.duet-hero-section .duet-hero-text duet-paragraph {
1616
1671
  width: 90%;
1617
1672
  }
1618
1673
  }
1619
1674
  @media (min-width: 25em) {
1620
- .duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,
1621
- .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,
1622
- .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph {
1675
+ .duet-hero.duet-theme-turva.duet-hero-campaign .duet-hero-text .duet-hero-subheading,
1676
+ .duet-hero.duet-theme-turva.duet-hero-campaign .duet-hero-text duet-paragraph, .duet-hero.duet-theme-turva.duet-hero-section .duet-hero-text .duet-hero-subheading,
1677
+ .duet-hero.duet-theme-turva.duet-hero-section .duet-hero-text duet-paragraph {
1623
1678
  width: 78%;
1624
1679
  }
1625
1680
  }
1626
1681
  @media (min-width: 30em) {
1627
- .duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,
1628
- .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,
1629
- .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph {
1682
+ .duet-hero.duet-theme-turva.duet-hero-campaign .duet-hero-text .duet-hero-subheading,
1683
+ .duet-hero.duet-theme-turva.duet-hero-campaign .duet-hero-text duet-paragraph, .duet-hero.duet-theme-turva.duet-hero-section .duet-hero-text .duet-hero-subheading,
1684
+ .duet-hero.duet-theme-turva.duet-hero-section .duet-hero-text duet-paragraph {
1630
1685
  width: 66%;
1631
1686
  }
1632
1687
  }
1633
1688
  @media (min-width: 36em) {
1634
- .duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,
1635
- .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,
1636
- .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph {
1689
+ .duet-hero.duet-theme-turva.duet-hero-campaign .duet-hero-text .duet-hero-subheading,
1690
+ .duet-hero.duet-theme-turva.duet-hero-campaign .duet-hero-text duet-paragraph, .duet-hero.duet-theme-turva.duet-hero-section .duet-hero-text .duet-hero-subheading,
1691
+ .duet-hero.duet-theme-turva.duet-hero-section .duet-hero-text duet-paragraph {
1637
1692
  width: 65%;
1638
1693
  }
1639
1694
  }
1640
1695
  @media (min-width: 48em) {
1641
- .duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,
1642
- .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,
1643
- .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph {
1696
+ .duet-hero.duet-theme-turva.duet-hero-campaign .duet-hero-text .duet-hero-subheading,
1697
+ .duet-hero.duet-theme-turva.duet-hero-campaign .duet-hero-text duet-paragraph, .duet-hero.duet-theme-turva.duet-hero-section .duet-hero-text .duet-hero-subheading,
1698
+ .duet-hero.duet-theme-turva.duet-hero-section .duet-hero-text duet-paragraph {
1644
1699
  width: 70%;
1645
1700
  }
1646
1701
  }
1647
1702
  @media (min-width: 62em) {
1648
- .duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,
1649
- .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,
1650
- .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph {
1703
+ .duet-hero.duet-theme-turva.duet-hero-campaign .duet-hero-text .duet-hero-subheading,
1704
+ .duet-hero.duet-theme-turva.duet-hero-campaign .duet-hero-text duet-paragraph, .duet-hero.duet-theme-turva.duet-hero-section .duet-hero-text .duet-hero-subheading,
1705
+ .duet-hero.duet-theme-turva.duet-hero-section .duet-hero-text duet-paragraph {
1651
1706
  width: 52%;
1652
1707
  }
1653
1708
  }
1654
- .duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-heading, .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-heading {
1709
+ .duet-hero.duet-theme-turva.duet-hero-campaign .duet-hero-heading, .duet-hero.duet-theme-turva.duet-hero-section .duet-hero-heading {
1655
1710
  margin-bottom: 2rem;
1656
1711
  }
1657
1712
  @media (min-width: 22.5em) {
1658
- .duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-heading, .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-heading {
1713
+ .duet-hero.duet-theme-turva.duet-hero-campaign .duet-hero-heading, .duet-hero.duet-theme-turva.duet-hero-section .duet-hero-heading {
1659
1714
  margin-bottom: 2rem;
1660
1715
  }
1661
1716
  }
1662
1717
  @media (min-width: 36em) {
1663
- .duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-heading, .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-heading {
1718
+ .duet-hero.duet-theme-turva.duet-hero-campaign .duet-hero-heading, .duet-hero.duet-theme-turva.duet-hero-section .duet-hero-heading {
1664
1719
  margin-bottom: 4rem;
1665
1720
  }
1666
1721
  }
1667
1722
  @media (min-width: 48em) {
1668
- .duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-heading, .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-heading {
1723
+ .duet-hero.duet-theme-turva.duet-hero-campaign .duet-hero-heading, .duet-hero.duet-theme-turva.duet-hero-section .duet-hero-heading {
1669
1724
  margin-bottom: 6rem;
1670
1725
  }
1671
1726
  }
1672
1727
  @media (min-width: 62em) {
1673
- .duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-heading, .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-heading {
1728
+ .duet-hero.duet-theme-turva.duet-hero-campaign .duet-hero-heading, .duet-hero.duet-theme-turva.duet-hero-section .duet-hero-heading {
1674
1729
  margin-bottom: 7rem;
1675
1730
  }
1676
1731
  }
1677
1732
  @media (min-width: 76.25em) {
1678
- .duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-heading, .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-heading {
1733
+ .duet-hero.duet-theme-turva.duet-hero-campaign .duet-hero-heading, .duet-hero.duet-theme-turva.duet-hero-section .duet-hero-heading {
1679
1734
  margin-bottom: 8rem;
1680
1735
  }
1681
1736
  }
1682
1737
  @media (min-width: 106.25em) {
1683
- .duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-heading, .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-heading {
1738
+ .duet-hero.duet-theme-turva.duet-hero-campaign .duet-hero-heading, .duet-hero.duet-theme-turva.duet-hero-section .duet-hero-heading {
1684
1739
  margin-botton: 9rem;
1685
1740
  }
1686
1741
  }
1687
- .duet-hero.duet-hero-campaign.duet-theme-turva .background-area .brand-shape, .duet-hero.duet-hero-section.duet-theme-turva .background-area .brand-shape {
1742
+ .duet-hero.duet-theme-turva.duet-hero-campaign .background-area .brand-shape, .duet-hero.duet-theme-turva.duet-hero-section .background-area .brand-shape {
1688
1743
  left: 0;
1689
1744
  background-color: rgb(255, 255, 255);
1690
1745
  border-radius: 24px;
1691
1746
  mask-image: none;
1692
1747
  }
1693
- .duet-hero.duet-hero-product.duet-theme-turva {
1748
+ .duet-hero.duet-theme-turva.duet-hero-product {
1694
1749
  display: flex;
1695
1750
  flex-direction: column;
1696
1751
  gap: 20px;
@@ -1700,7 +1755,7 @@ duet-heading + duet-button {
1700
1755
  margin: 0 auto;
1701
1756
  }
1702
1757
  @media (min-width: 62em) {
1703
- .duet-hero.duet-hero-product.duet-theme-turva {
1758
+ .duet-hero.duet-theme-turva.duet-hero-product {
1704
1759
  flex-direction: row-reverse;
1705
1760
  gap: 40px;
1706
1761
  padding-top: 72px;
@@ -1709,19 +1764,19 @@ duet-heading + duet-button {
1709
1764
  }
1710
1765
  }
1711
1766
  @media (min-width: 76.25em) {
1712
- .duet-hero.duet-hero-product.duet-theme-turva {
1767
+ .duet-hero.duet-theme-turva.duet-hero-product {
1713
1768
  max-width: 1110px;
1714
1769
  padding-right: 0;
1715
1770
  padding-left: 0;
1716
1771
  }
1717
1772
  }
1718
- .duet-hero.duet-hero-product.duet-theme-turva .background-area {
1773
+ .duet-hero.duet-theme-turva.duet-hero-product .background-area {
1719
1774
  position: relative;
1720
1775
  height: auto;
1721
1776
  overflow: visible;
1722
1777
  }
1723
- .duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.narrow,
1724
- .duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.fluid {
1778
+ .duet-hero.duet-theme-turva.duet-hero-product .background-area .background-container.narrow,
1779
+ .duet-hero.duet-theme-turva.duet-hero-product .background-area .background-container.fluid {
1725
1780
  position: relative;
1726
1781
  top: 0;
1727
1782
  width: 100%;
@@ -1732,70 +1787,83 @@ duet-heading + duet-button {
1732
1787
  /* stylelint-disable max-nesting-depth */
1733
1788
  }
1734
1789
  @media (min-width: 36em) {
1735
- .duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.narrow,
1736
- .duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.fluid {
1790
+ .duet-hero.duet-theme-turva.duet-hero-product .background-area .background-container.narrow,
1791
+ .duet-hero.duet-theme-turva.duet-hero-product .background-area .background-container.fluid {
1737
1792
  height: 250px;
1738
1793
  aspect-ratio: auto;
1739
1794
  }
1740
1795
  }
1741
1796
  @media (min-width: 48em) {
1742
- .duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.narrow,
1743
- .duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.fluid {
1797
+ .duet-hero.duet-theme-turva.duet-hero-product .background-area .background-container.narrow,
1798
+ .duet-hero.duet-theme-turva.duet-hero-product .background-area .background-container.fluid {
1744
1799
  padding-right: 28px;
1745
1800
  padding-left: 28px;
1746
1801
  }
1747
1802
  }
1748
1803
  @media (min-width: 62em) {
1749
- .duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.narrow,
1750
- .duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.fluid {
1804
+ .duet-hero.duet-theme-turva.duet-hero-product .background-area .background-container.narrow,
1805
+ .duet-hero.duet-theme-turva.duet-hero-product .background-area .background-container.fluid {
1751
1806
  height: auto;
1752
1807
  aspect-ratio: 53/32;
1753
1808
  padding-right: 0;
1754
1809
  padding-left: 0;
1755
1810
  }
1756
1811
  }
1757
- .duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.narrow .background,
1758
- .duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.fluid .background {
1812
+ .duet-hero.duet-theme-turva.duet-hero-product .background-area .background-container.narrow .background,
1813
+ .duet-hero.duet-theme-turva.duet-hero-product .background-area .background-container.fluid .background {
1759
1814
  position: relative;
1760
1815
  top: auto;
1761
1816
  height: 100%;
1762
1817
  }
1763
- .duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.narrow .background .background-mask,
1764
- .duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.fluid .background .background-mask {
1818
+ .duet-hero.duet-theme-turva.duet-hero-product .background-area .background-container.narrow .background .background-mask,
1819
+ .duet-hero.duet-theme-turva.duet-hero-product .background-area .background-container.fluid .background .background-mask {
1765
1820
  display: none;
1766
1821
  background-image: none;
1767
1822
  }
1768
- .duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.narrow .background .brand-shaped-image,
1769
- .duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.fluid .background .brand-shaped-image {
1823
+ .duet-hero.duet-theme-turva.duet-hero-product .background-area .background-container.narrow .background .brand-shaped-image,
1824
+ .duet-hero.duet-theme-turva.duet-hero-product .background-area .background-container.fluid .background .brand-shaped-image {
1770
1825
  position: static;
1771
1826
  width: 100%;
1772
1827
  height: 100%;
1773
1828
  border-radius: 0;
1774
1829
  mask-image: none;
1775
1830
  }
1776
- .duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.narrow .background .brand-shaped-image .brand-shaped-image-bg,
1777
- .duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.fluid .background .brand-shaped-image .brand-shaped-image-bg {
1831
+ .duet-hero.duet-theme-turva.duet-hero-product .background-area .background-container.narrow .background .brand-shaped-image .brand-shaped-image-bg,
1832
+ .duet-hero.duet-theme-turva.duet-hero-product .background-area .background-container.fluid .background .brand-shaped-image .brand-shaped-image-bg {
1778
1833
  position: static;
1779
1834
  width: 100%;
1780
1835
  height: 100%;
1781
- background-position: 0;
1782
- background-size: cover;
1836
+ transform: none;
1837
+ }
1838
+ .duet-hero.duet-theme-turva.duet-hero-product .background-area .background-container.narrow .background .brand-shaped-image .brand-shaped-image-bg picture,
1839
+ .duet-hero.duet-theme-turva.duet-hero-product .background-area .background-container.fluid .background .brand-shaped-image .brand-shaped-image-bg picture {
1840
+ display: block;
1841
+ width: 100%;
1842
+ height: 100%;
1843
+ }
1844
+ .duet-hero.duet-theme-turva.duet-hero-product .background-area .background-container.narrow .background .brand-shaped-image .brand-shaped-image-bg img,
1845
+ .duet-hero.duet-theme-turva.duet-hero-product .background-area .background-container.fluid .background .brand-shaped-image .brand-shaped-image-bg img {
1846
+ position: static;
1847
+ width: 100%;
1848
+ height: 100%;
1849
+ object-fit: cover;
1850
+ object-position: 0 50%;
1783
1851
  transform: none;
1784
1852
  }
1785
1853
  @media (min-width: 48em) {
1786
- .duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.narrow .background .brand-shaped-image,
1787
- .duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.fluid .background .brand-shaped-image {
1854
+ .duet-hero.duet-theme-turva.duet-hero-product .background-area .background-container.narrow .background .brand-shaped-image,
1855
+ .duet-hero.duet-theme-turva.duet-hero-product .background-area .background-container.fluid .background .brand-shaped-image {
1788
1856
  border-radius: 0 0 12px 12px;
1789
1857
  }
1790
1858
  }
1791
1859
  @media (min-width: 62em) {
1792
- .duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.narrow .background .brand-shaped-image,
1793
- .duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.fluid .background .brand-shaped-image {
1860
+ .duet-hero.duet-theme-turva.duet-hero-product .background-area .background-container.narrow .background .brand-shaped-image,
1861
+ .duet-hero.duet-theme-turva.duet-hero-product .background-area .background-container.fluid .background .brand-shaped-image {
1794
1862
  border-radius: 12px;
1795
1863
  }
1796
1864
  }
1797
- .duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.narrow .background .brand-shaped-icon,
1798
- .duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.fluid .background .brand-shaped-icon {
1865
+ .duet-hero.duet-theme-turva.duet-hero-product .background-area .background-container.narrow .background .brand-shaped-icon,
1866
+ .duet-hero.duet-theme-turva.duet-hero-product .background-area .background-container.fluid .background .brand-shaped-icon {
1799
1867
  top: auto;
1800
1868
  right: 20px;
1801
1869
  bottom: -16px;
@@ -1806,56 +1874,56 @@ duet-heading + duet-button {
1806
1874
  border-radius: 8px;
1807
1875
  mask-image: none;
1808
1876
  }
1809
- .duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.narrow .background .brand-shaped-icon duet-icon,
1810
- .duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.fluid .background .brand-shaped-icon duet-icon {
1877
+ .duet-hero.duet-theme-turva.duet-hero-product .background-area .background-container.narrow .background .brand-shaped-icon duet-icon,
1878
+ .duet-hero.duet-theme-turva.duet-hero-product .background-area .background-container.fluid .background .brand-shaped-icon duet-icon {
1811
1879
  top: 0;
1812
1880
  width: 62px;
1813
1881
  height: 62px;
1814
1882
  }
1815
1883
  @media (min-width: 36em) {
1816
- .duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.narrow .background .brand-shaped-icon,
1817
- .duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.fluid .background .brand-shaped-icon {
1884
+ .duet-hero.duet-theme-turva.duet-hero-product .background-area .background-container.narrow .background .brand-shaped-icon,
1885
+ .duet-hero.duet-theme-turva.duet-hero-product .background-area .background-container.fluid .background .brand-shaped-icon {
1818
1886
  right: 40px;
1819
1887
  bottom: -24px;
1820
1888
  padding: 8px;
1821
1889
  }
1822
- .duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.narrow .background .brand-shaped-icon duet-icon,
1823
- .duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.fluid .background .brand-shaped-icon duet-icon {
1890
+ .duet-hero.duet-theme-turva.duet-hero-product .background-area .background-container.narrow .background .brand-shaped-icon duet-icon,
1891
+ .duet-hero.duet-theme-turva.duet-hero-product .background-area .background-container.fluid .background .brand-shaped-icon duet-icon {
1824
1892
  width: 80px;
1825
1893
  height: 80px;
1826
1894
  }
1827
1895
  }
1828
1896
  @media (min-width: 48em) {
1829
- .duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.narrow .background .brand-shaped-icon,
1830
- .duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.fluid .background .brand-shaped-icon {
1897
+ .duet-hero.duet-theme-turva.duet-hero-product .background-area .background-container.narrow .background .brand-shaped-icon,
1898
+ .duet-hero.duet-theme-turva.duet-hero-product .background-area .background-container.fluid .background .brand-shaped-icon {
1831
1899
  right: 68px;
1832
1900
  }
1833
1901
  }
1834
1902
  @media (min-width: 62em) {
1835
- .duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.narrow .background .brand-shaped-icon,
1836
- .duet-hero.duet-hero-product.duet-theme-turva .background-area .background-container.fluid .background .brand-shaped-icon {
1903
+ .duet-hero.duet-theme-turva.duet-hero-product .background-area .background-container.narrow .background .brand-shaped-icon,
1904
+ .duet-hero.duet-theme-turva.duet-hero-product .background-area .background-container.fluid .background .brand-shaped-icon {
1837
1905
  right: 40px;
1838
1906
  }
1839
1907
  }
1840
- .duet-hero.duet-hero-product.duet-theme-turva .duet-hero-wrapper .duet-hero-text {
1908
+ .duet-hero.duet-theme-turva.duet-hero-product .duet-hero-wrapper .duet-hero-text {
1841
1909
  width: 100%;
1842
1910
  }
1843
1911
  @media (min-width: 48em) {
1844
- .duet-hero.duet-hero-product.duet-theme-turva .duet-hero-wrapper {
1912
+ .duet-hero.duet-theme-turva.duet-hero-product .duet-hero-wrapper {
1845
1913
  margin-top: 28px;
1846
1914
  }
1847
1915
  }
1848
1916
  @media (min-width: 62em) {
1849
- .duet-hero.duet-hero-product.duet-theme-turva .duet-hero-wrapper {
1917
+ .duet-hero.duet-theme-turva.duet-hero-product .duet-hero-wrapper {
1850
1918
  padding: 0;
1851
1919
  }
1852
1920
  }
1853
- .duet-hero.duet-hero-content.duet-theme-turva {
1921
+ .duet-hero.duet-theme-turva.duet-hero-content {
1854
1922
  padding: 0;
1855
1923
  margin: 20px auto;
1856
1924
  background: rgb(255, 255, 255);
1857
1925
  }
1858
- .duet-hero.duet-hero-content.duet-theme-turva .background-mask {
1926
+ .duet-hero.duet-theme-turva.duet-hero-content .background-mask {
1859
1927
  position: absolute;
1860
1928
  top: 0;
1861
1929
  left: 0;
@@ -1867,11 +1935,11 @@ duet-heading + duet-button {
1867
1935
  background-repeat: no-repeat;
1868
1936
  }
1869
1937
  @media (min-width: 48em) {
1870
- .duet-hero.duet-hero-content.duet-theme-turva .background-mask {
1938
+ .duet-hero.duet-theme-turva.duet-hero-content .background-mask {
1871
1939
  left: 181px;
1872
1940
  }
1873
1941
  }
1874
- .duet-hero.duet-hero-content.duet-theme-turva .brand-shaped-image {
1942
+ .duet-hero.duet-theme-turva.duet-hero-content .brand-shaped-image {
1875
1943
  top: -155px;
1876
1944
  right: 0;
1877
1945
  left: 0;
@@ -1886,157 +1954,180 @@ duet-heading + duet-button {
1886
1954
  transform: none;
1887
1955
  }
1888
1956
  @media (min-width: 48em) {
1889
- .duet-hero.duet-hero-content.duet-theme-turva .brand-shaped-image {
1957
+ .duet-hero.duet-theme-turva.duet-hero-content .brand-shaped-image {
1890
1958
  top: -230px;
1891
1959
  width: 687px;
1892
1960
  height: 637px;
1893
1961
  }
1894
1962
  }
1895
- .duet-hero.duet-hero-content.duet-theme-turva .brand-shaped-image .brand-shaped-image-bg {
1963
+ .duet-hero.duet-theme-turva.duet-hero-content .brand-shaped-image .brand-shaped-image-bg {
1896
1964
  width: 600px;
1897
1965
  height: 280px;
1898
1966
  transform: translate(-50%, 0);
1899
1967
  }
1900
1968
  @media (min-width: 48em) {
1901
- .duet-hero.duet-hero-content.duet-theme-turva .brand-shaped-image .brand-shaped-image-bg {
1969
+ .duet-hero.duet-theme-turva.duet-hero-content .brand-shaped-image .brand-shaped-image-bg {
1902
1970
  width: 733px;
1903
1971
  height: 413px;
1904
1972
  }
1905
1973
  }
1906
- .duet-hero.duet-hero-content.duet-theme-turva.duet-hero-narrow .background-area {
1974
+ .duet-hero.duet-theme-turva.duet-hero-content.duet-hero-narrow .background-area {
1907
1975
  max-width: 888px;
1908
1976
  }
1909
1977
  @media (min-width: 36em) {
1910
- .duet-hero.duet-hero-content.duet-theme-turva.duet-hero-narrow .background-area {
1978
+ .duet-hero.duet-theme-turva.duet-hero-content.duet-hero-narrow .background-area {
1911
1979
  padding: 0 48px;
1912
1980
  }
1913
1981
  }
1914
1982
  @media (min-width: 48em) {
1915
- .duet-hero.duet-hero-content.duet-theme-turva.duet-hero-narrow .background-area {
1983
+ .duet-hero.duet-theme-turva.duet-hero-content.duet-hero-narrow .background-area {
1916
1984
  padding: 0 72px;
1917
1985
  }
1918
1986
  }
1919
- .duet-hero.duet-hero-content.duet-theme-turva .background-area {
1987
+ .duet-hero.duet-theme-turva.duet-hero-content .background-area {
1920
1988
  position: static;
1921
1989
  padding: 0 16px;
1922
1990
  margin: 0 auto;
1923
1991
  }
1924
1992
  @media (min-width: 36em) {
1925
- .duet-hero.duet-hero-content.duet-theme-turva .background-area {
1993
+ .duet-hero.duet-theme-turva.duet-hero-content .background-area {
1926
1994
  padding: 0 28px;
1927
1995
  }
1928
1996
  }
1929
1997
  @media (min-width: 62em) {
1930
- .duet-hero.duet-hero-content.duet-theme-turva .background-area {
1998
+ .duet-hero.duet-theme-turva.duet-hero-content .background-area {
1931
1999
  padding: 0 56px;
1932
2000
  }
1933
2001
  }
1934
2002
  @media (min-width: 76.25em) {
1935
- .duet-hero.duet-hero-content.duet-theme-turva .background-area {
2003
+ .duet-hero.duet-theme-turva.duet-hero-content .background-area {
1936
2004
  max-width: 1110px;
1937
2005
  padding: 0;
1938
2006
  }
1939
2007
  }
1940
- .duet-hero.duet-hero-content.duet-theme-turva .background-area .background {
2008
+ .duet-hero.duet-theme-turva.duet-hero-content .background-area .background {
1941
2009
  position: static;
1942
2010
  height: auto;
1943
2011
  }
1944
- .duet-hero.duet-hero-content.duet-theme-turva .background-area .background .background-mask {
2012
+ .duet-hero.duet-theme-turva.duet-hero-content .background-area .background .background-mask {
1945
2013
  display: none;
1946
2014
  background-image: none;
1947
2015
  }
1948
- .duet-hero.duet-hero-content.duet-theme-turva .background-area .background .brand-shaped-image {
2016
+ .duet-hero.duet-theme-turva.duet-hero-content .background-area .background .brand-shaped-image {
1949
2017
  position: static;
1950
2018
  width: auto;
1951
2019
  height: auto;
1952
2020
  }
1953
- .duet-hero.duet-hero-content.duet-theme-turva .background-area .background .brand-shaped-image .brand-shaped-image-wrapper {
2021
+ .duet-hero.duet-theme-turva.duet-hero-content .background-area .background .brand-shaped-image .brand-shaped-image-wrapper {
1954
2022
  width: auto;
1955
2023
  height: auto;
1956
2024
  }
1957
- .duet-hero.duet-hero-content.duet-theme-turva .background-area .background .brand-shaped-image .brand-shaped-image-bg {
2025
+ .duet-hero.duet-theme-turva.duet-hero-content .background-area .background .brand-shaped-image .brand-shaped-image-bg {
1958
2026
  position: static;
1959
2027
  width: 100%;
1960
2028
  height: auto;
1961
2029
  aspect-ratio: 5/2;
1962
- background-size: cover;
1963
2030
  transform: none;
1964
2031
  }
1965
- .duet-hero.duet-hero-content.duet-theme-turva .brand-shaped-image {
2032
+ .duet-hero.duet-theme-turva.duet-hero-content .background-area .background .brand-shaped-image .brand-shaped-image-bg picture {
2033
+ display: block;
2034
+ width: 100%;
2035
+ height: 100%;
2036
+ }
2037
+ .duet-hero.duet-theme-turva.duet-hero-content .background-area .background .brand-shaped-image .brand-shaped-image-bg img {
2038
+ position: static;
2039
+ width: 100%;
2040
+ height: 100%;
2041
+ object-fit: cover;
2042
+ object-position: 50% 50%;
2043
+ }
2044
+ .duet-hero.duet-theme-turva.duet-hero-content .brand-shaped-image {
1966
2045
  border-radius: 12px;
1967
2046
  mask-image: none;
1968
2047
  }
1969
- .duet-hero.duet-hero-content.duet-theme-turva .duet-hero-wrapper {
2048
+ .duet-hero.duet-theme-turva.duet-hero-content .duet-hero-wrapper {
1970
2049
  margin-top: 28px;
1971
2050
  }
1972
2051
  @media (min-width: 48em) {
1973
- .duet-hero.duet-hero-content.duet-theme-turva .duet-hero-wrapper {
2052
+ .duet-hero.duet-theme-turva.duet-hero-content .duet-hero-wrapper {
1974
2053
  margin-top: 36px;
1975
2054
  }
1976
2055
  }
1977
- .duet-hero.duet-theme-turva .duet-hero-wrapper {
1978
- position: static;
1979
- margin-top: 16px;
2056
+ .duet-hero.duet-theme-turva.duet-hero-with-image {
2057
+ padding-top: 0;
2058
+ }
2059
+ .duet-hero.duet-theme-turva.duet-hero-with-image .duet-hero-image-mask {
2060
+ margin: 0;
2061
+ }
2062
+ @media screen and (min-width: 1450px) {
2063
+ .duet-hero.duet-theme-turva.duet-hero-with-image .duet-hero-image-mask {
2064
+ transform: translateX(108%);
2065
+ }
1980
2066
  }
1981
2067
  @media (min-width: 48em) {
1982
- .duet-hero.duet-theme-turva .duet-hero-wrapper {
1983
- margin-top: 0;
2068
+ .duet-hero.duet-theme-turva.duet-hero-with-image {
2069
+ padding-top: 48px;
1984
2070
  }
1985
2071
  }
1986
-
1987
- .duet-theme-turva .duet-hero-image-wrapper {
1988
- padding-bottom: 68%;
1989
- border-radius: 44% 47% 38% 54%;
2072
+ @media (min-width: 62em) {
2073
+ .duet-hero.duet-theme-turva.duet-hero-with-image {
2074
+ padding-top: 72px;
2075
+ }
2076
+ }
2077
+ .duet-hero.duet-theme-turva.duet-hero-with-image .duet-hero-image-wrapper {
2078
+ top: 0;
2079
+ height: auto;
2080
+ aspect-ratio: 16/10;
2081
+ padding-bottom: 0;
2082
+ margin: 36px auto;
2083
+ border-radius: 16px;
1990
2084
  transform: none;
1991
2085
  }
1992
2086
  @media screen and (min-width: 440px) {
1993
- .duet-theme-turva .duet-hero-image-wrapper {
2087
+ .duet-hero.duet-theme-turva.duet-hero-with-image .duet-hero-image-wrapper {
1994
2088
  width: 80%;
1995
- padding-bottom: 68%;
2089
+ }
2090
+ }
2091
+ @media (min-width: 48em) {
2092
+ .duet-hero.duet-theme-turva.duet-hero-with-image .duet-hero-image-wrapper {
2093
+ margin-top: 0;
1996
2094
  }
1997
2095
  }
1998
2096
  @media (min-width: 62em) {
1999
- .duet-theme-turva .duet-hero-image-wrapper {
2000
- top: -40px;
2097
+ .duet-hero.duet-theme-turva.duet-hero-with-image .duet-hero-image-wrapper {
2098
+ top: 72px;
2001
2099
  right: -80px;
2002
2100
  width: 536px;
2003
- padding-bottom: 470px;
2004
2101
  }
2005
2102
  }
2006
2103
  @media (min-width: 76.25em) {
2007
- .duet-theme-turva .duet-hero-image-wrapper {
2008
- top: -70px;
2104
+ .duet-hero.duet-theme-turva.duet-hero-with-image .duet-hero-image-wrapper {
2009
2105
  right: -60px;
2010
2106
  width: 650px;
2011
- padding-bottom: 600px;
2012
2107
  }
2013
2108
  }
2014
2109
  @media screen and (min-width: 1450px) {
2015
- .duet-theme-turva .duet-hero-image-wrapper {
2110
+ .duet-hero.duet-theme-turva.duet-hero-with-image .duet-hero-image-wrapper {
2016
2111
  right: 0;
2017
2112
  }
2018
2113
  }
2019
- .duet-theme-turva .duet-hero-image-wrapper .duet-hero-image {
2114
+ .duet-hero.duet-theme-turva.duet-hero-with-image .duet-hero-image-wrapper .duet-hero-image {
2020
2115
  top: 0;
2021
2116
  left: 0;
2022
2117
  width: 100%;
2023
2118
  height: 100%;
2024
2119
  transform: none;
2025
2120
  }
2026
-
2027
- @media screen and (min-width: 1450px) {
2028
- .duet-theme-turva .duet-hero-image-mask {
2029
- transform: translateX(108%);
2030
- }
2121
+ .duet-hero.duet-theme-turva .duet-hero-wrapper {
2122
+ position: static;
2123
+ margin-top: 0;
2031
2124
  }
2032
-
2033
- .duet-theme-turva .duet-hero-link {
2125
+ .duet-hero.duet-theme-turva .duet-hero-link {
2034
2126
  color: rgb(230, 23, 64);
2035
2127
  }
2036
- .duet-theme-turva .duet-hero-link:hover .duet-hero-action-arrow {
2128
+ .duet-hero.duet-theme-turva .duet-hero-link:hover .duet-hero-action-arrow {
2037
2129
  color: rgb(140, 0, 30) !important;
2038
2130
  }
2039
-
2040
- .duet-theme-turva .duet-hero-action-arrow {
2131
+ .duet-hero.duet-theme-turva .duet-hero-action-arrow {
2041
2132
  color: rgb(230, 23, 64);
2042
2133
  }