@affinda/wc 0.4.1 → 0.5.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 (512) hide show
  1. package/dist/affinda/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.esm.js.map +1 -1
  2. package/dist/affinda/affinda.esm.js +1 -1
  3. package/dist/affinda/index.esm.js +1 -1
  4. package/dist/affinda/{p-9610cd3c.entry.js → p-02c6f6d1.entry.js} +2 -2
  5. package/dist/affinda/{p-5885ebd3.entry.js → p-0c7d81d0.entry.js} +2 -2
  6. package/dist/affinda/{p-bc77706d.entry.js → p-1554f3d7.entry.js} +2 -2
  7. package/dist/affinda/{p-57fcfd78.entry.js → p-15a1d019.entry.js} +2 -2
  8. package/dist/affinda/{p-f9ecbde8.entry.js → p-1819ae80.entry.js} +2 -2
  9. package/dist/affinda/{p-750063ab.entry.js → p-1a71d0f9.entry.js} +2 -2
  10. package/dist/affinda/{p-4f15b8f0.entry.js → p-1e59a051.entry.js} +2 -2
  11. package/dist/affinda/{p-ce77f08f.entry.js → p-1f2f7fff.entry.js} +2 -2
  12. package/dist/affinda/{p-67e8c6f6.entry.js → p-20faf28d.entry.js} +2 -2
  13. package/dist/affinda/{p-42c4d7b1.entry.js → p-2716cdc4.entry.js} +2 -2
  14. package/dist/affinda/{p-fff252df.entry.js → p-3084cb0f.entry.js} +2 -2
  15. package/dist/affinda/{p-67a27eaf.entry.js → p-31d96ddc.entry.js} +2 -2
  16. package/dist/affinda/{p-7eca844d.entry.js → p-374f9557.entry.js} +2 -2
  17. package/dist/affinda/{p-ea150b3d.entry.js → p-3fd3d4cd.entry.js} +2 -2
  18. package/dist/affinda/{p-587fd0fa.entry.js → p-41580a3c.entry.js} +2 -2
  19. package/dist/affinda/{p-43a0286a.entry.js → p-47d2f72b.entry.js} +2 -2
  20. package/dist/affinda/{p-d923549d.entry.js → p-50e12df0.entry.js} +2 -2
  21. package/dist/affinda/{p-9b115359.entry.js → p-54dc41a9.entry.js} +2 -2
  22. package/dist/affinda/{p-05072f90.entry.js → p-56e96bd3.entry.js} +2 -2
  23. package/dist/affinda/{p-f7fc76d2.entry.js → p-5834ffe7.entry.js} +2 -2
  24. package/dist/affinda/{p-9e19a477.entry.js → p-5e966aa6.entry.js} +2 -2
  25. package/dist/affinda/{p-3dd90f46.entry.js → p-616e0116.entry.js} +2 -2
  26. package/dist/affinda/p-64159112.entry.js +2 -0
  27. package/dist/affinda/{p-a7b51bb6.entry.js → p-656630fc.entry.js} +2 -2
  28. package/dist/affinda/{p-44e976ee.entry.js → p-67b08108.entry.js} +2 -2
  29. package/dist/affinda/p-6ff65e42.entry.js +2 -0
  30. package/dist/affinda/{p-3238f8e8.entry.js.map → p-6ff65e42.entry.js.map} +1 -1
  31. package/dist/affinda/{p-26a6d9a7.entry.js → p-75d76909.entry.js} +2 -2
  32. package/dist/affinda/{p-b82fc7f1.entry.js → p-761f06ae.entry.js} +2 -2
  33. package/dist/affinda/{p-dd0cd57e.entry.js → p-7b08b7ba.entry.js} +2 -2
  34. package/dist/affinda/{p-b8ea57a9.entry.js → p-7eff3490.entry.js} +2 -2
  35. package/dist/affinda/{p-7c9683d8.entry.js → p-838bbc80.entry.js} +2 -2
  36. package/dist/affinda/{p-5f3419c3.entry.js → p-88f38401.entry.js} +2 -2
  37. package/dist/affinda/{p-d6b8c3b4.entry.js → p-8b0d08de.entry.js} +2 -2
  38. package/dist/affinda/{p-dd4c8640.entry.js → p-8f36e911.entry.js} +2 -2
  39. package/dist/affinda/{p-c4fd7d48.entry.js → p-919e2144.entry.js} +2 -2
  40. package/dist/affinda/{p-08a42935.entry.js → p-92c61bad.entry.js} +2 -2
  41. package/dist/affinda/{p-3c6790f8.entry.js → p-94119fa2.entry.js} +2 -2
  42. package/dist/affinda/{p-3c6790f8.entry.js.map → p-94119fa2.entry.js.map} +1 -1
  43. package/dist/affinda/{p-9ca72e02.entry.js → p-95da58f3.entry.js} +2 -2
  44. package/dist/affinda/p-976e0c29.entry.js +2 -0
  45. package/dist/affinda/p-99b37588.entry.js +2 -0
  46. package/dist/affinda/p-CYq0zyKH.js +3 -0
  47. package/dist/affinda/p-CYq0zyKH.js.map +1 -0
  48. package/dist/affinda/p-a196f362.entry.js +2 -0
  49. package/dist/affinda/{p-ac45df4b.entry.js → p-a3ed4092.entry.js} +2 -2
  50. package/dist/affinda/{p-d9913985.entry.js → p-a4b36eb7.entry.js} +2 -2
  51. package/dist/affinda/p-a6be61c2.entry.js +2 -0
  52. package/dist/affinda/{p-19dc4331.entry.js → p-a79077d5.entry.js} +2 -2
  53. package/dist/affinda/{p-75443f08.entry.js → p-b31e438d.entry.js} +2 -2
  54. package/dist/affinda/{p-d647ae06.entry.js → p-b77fa201.entry.js} +2 -2
  55. package/dist/affinda/{p-d06ae9cd.entry.js → p-bb80195f.entry.js} +2 -2
  56. package/dist/affinda/{p-7640c285.entry.js → p-bc59dc0e.entry.js} +2 -2
  57. package/dist/affinda/{p-77ec01ee.entry.js → p-be219843.entry.js} +2 -2
  58. package/dist/affinda/{p-bac968a1.entry.js → p-c15d00b5.entry.js} +2 -2
  59. package/dist/affinda/{p-e90a3892.entry.js → p-c23d7aa5.entry.js} +2 -2
  60. package/dist/affinda/p-c2a6c874.entry.js +2 -0
  61. package/dist/affinda/{p-d34da6c0.entry.js → p-c6aa66f3.entry.js} +2 -2
  62. package/dist/affinda/{p-7013570d.entry.js → p-c925d301.entry.js} +2 -2
  63. package/dist/affinda/{p-2586fbb8.entry.js → p-cc2539de.entry.js} +2 -2
  64. package/dist/affinda/p-cd21a62a.entry.js +2 -0
  65. package/dist/affinda/{p-95b49b45.entry.js → p-cea1c1ff.entry.js} +2 -2
  66. package/dist/affinda/{p-479a300e.entry.js → p-d573d115.entry.js} +2 -2
  67. package/dist/affinda/{p-9b9e81cf.entry.js → p-d9b0f217.entry.js} +2 -2
  68. package/dist/affinda/{p-6986f604.entry.js → p-df10dee2.entry.js} +2 -2
  69. package/dist/affinda/{p-7ce2b434.entry.js → p-e057ebf1.entry.js} +2 -2
  70. package/dist/affinda/{p-df6c7170.entry.js → p-e10c03b6.entry.js} +2 -2
  71. package/dist/affinda/{p-e0619222.entry.js → p-ea5aea86.entry.js} +2 -2
  72. package/dist/affinda/{p-2a8441cb.entry.js → p-eca85313.entry.js} +2 -2
  73. package/dist/affinda/{p-255a8254.entry.js → p-f1705df1.entry.js} +2 -2
  74. package/dist/affinda/{p-27469df6.entry.js → p-f38688c6.entry.js} +2 -2
  75. package/dist/affinda/p-fd772af4.entry.js +2 -0
  76. package/dist/affinda/{p-adabec15.entry.js.map → p-fd772af4.entry.js.map} +1 -1
  77. package/dist/affinda/{p-4ccc3147.entry.js → p-fe09a283.entry.js} +2 -2
  78. package/dist/cjs/af-accordion-item.cjs.entry.js +2 -2
  79. package/dist/cjs/af-accordion.cjs.entry.js +2 -2
  80. package/dist/cjs/af-aspect-ratio.cjs.entry.js +1 -1
  81. package/dist/cjs/af-button-group.cjs.entry.js +2 -2
  82. package/dist/cjs/af-button.cjs.entry.js +1 -1
  83. package/dist/cjs/af-card.cjs.entry.js +2 -2
  84. package/dist/cjs/af-center.cjs.entry.js +2 -2
  85. package/dist/cjs/af-checkbox.cjs.entry.js +2 -2
  86. package/dist/cjs/af-client-carousel.cjs.entry.js +2 -2
  87. package/dist/cjs/af-color-swatch.cjs.entry.js +1 -1
  88. package/dist/cjs/af-contact-item.cjs.entry.js +2 -2
  89. package/dist/cjs/af-container.cjs.entry.js +1 -1
  90. package/dist/cjs/af-divider.cjs.entry.js +2 -2
  91. package/dist/cjs/af-feature-accordion.cjs.entry.js +3 -3
  92. package/dist/cjs/af-feature-card.cjs.entry.js +1 -1
  93. package/dist/cjs/af-feature-grid.cjs.entry.js +2 -2
  94. package/dist/cjs/af-fieldset.cjs.entry.js +2 -2
  95. package/dist/cjs/af-footer-column.cjs.entry.js +2 -2
  96. package/dist/cjs/af-footer-link.cjs.entry.js +2 -2
  97. package/dist/cjs/af-footer.cjs.entry.js +2 -2
  98. package/dist/cjs/af-grid-callout.cjs.entry.js +1 -1
  99. package/dist/cjs/af-grid.cjs.entry.js +3 -3
  100. package/dist/cjs/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.cjs.js.map +1 -1
  101. package/dist/cjs/af-heading_5.cjs.entry.js +3 -3
  102. package/dist/cjs/af-hero.cjs.entry.js +3 -3
  103. package/dist/cjs/af-icon-box.cjs.entry.js +2 -2
  104. package/dist/cjs/af-icon-button.cjs.entry.js +1 -1
  105. package/dist/cjs/af-icon-text.cjs.entry.js +2 -2
  106. package/dist/cjs/af-icon.cjs.entry.js +1 -1
  107. package/dist/cjs/af-illustrated-card.cjs.entry.js +2 -2
  108. package/dist/cjs/af-image.cjs.entry.js +2 -2
  109. package/dist/cjs/af-in-page-banner.cjs.entry.js +2 -2
  110. package/dist/cjs/af-inline.cjs.entry.js +2 -2
  111. package/dist/cjs/af-input.cjs.entry.js +2 -2
  112. package/dist/cjs/af-logo-well.cjs.entry.js +2 -2
  113. package/dist/cjs/af-nav-accordion-item.cjs.entry.js +3 -3
  114. package/dist/cjs/af-nav-accordion.cjs.entry.js +2 -2
  115. package/dist/cjs/af-nav-card.cjs.entry.js +1 -1
  116. package/dist/cjs/af-nav-menu-nest.cjs.entry.js +2 -2
  117. package/dist/cjs/af-nav-menu.cjs.entry.js +2 -2
  118. package/dist/cjs/af-number-badge.cjs.entry.js +2 -2
  119. package/dist/cjs/af-numbered-stepper-item.cjs.entry.js +2 -2
  120. package/dist/cjs/af-numbered-stepper.cjs.entry.js +2 -2
  121. package/dist/cjs/af-paperclip-decoration.cjs.entry.js +2 -2
  122. package/dist/cjs/af-progress-line.cjs.entry.js +3 -3
  123. package/dist/cjs/af-radio.cjs.entry.js +2 -2
  124. package/dist/cjs/af-section.cjs.entry.js +3 -3
  125. package/dist/cjs/af-show.cjs.entry.js +2 -2
  126. package/dist/cjs/af-social-link.cjs.entry.js +2 -2
  127. package/dist/cjs/af-spacer.cjs.entry.js +2 -2
  128. package/dist/cjs/af-split-section.cjs.entry.js +3 -3
  129. package/dist/cjs/af-stack.cjs.entry.js +2 -2
  130. package/dist/cjs/af-stat.cjs.entry.js +2 -2
  131. package/dist/cjs/af-stats-row.cjs.entry.js +2 -2
  132. package/dist/cjs/af-stepper-step.cjs.entry.js +2 -2
  133. package/dist/cjs/af-stepper.cjs.entry.js +2 -2
  134. package/dist/cjs/af-switch.cjs.entry.js +2 -2
  135. package/dist/cjs/af-tab-bar.cjs.entry.js +2 -2
  136. package/dist/cjs/af-tab.cjs.entry.js +2 -2
  137. package/dist/cjs/af-tag.cjs.entry.js +3 -3
  138. package/dist/cjs/af-testimonial-carousel.cjs.entry.js +2 -2
  139. package/dist/cjs/af-testimonial-stat.cjs.entry.js +2 -2
  140. package/dist/cjs/af-testimonial.cjs.entry.js +3 -3
  141. package/dist/cjs/af-text-image-nest.cjs.entry.js +2 -2
  142. package/dist/cjs/af-text-image.cjs.entry.js +1 -1
  143. package/dist/cjs/af-textarea.cjs.entry.js +2 -2
  144. package/dist/cjs/af-theme-override.cjs.entry.js +2 -2
  145. package/dist/cjs/af-typography-lockup.cjs.entry.js +2 -2
  146. package/dist/cjs/af-video-container.cjs.entry.js +2 -2
  147. package/dist/cjs/af-visually-hidden.cjs.entry.js +2 -2
  148. package/dist/cjs/affinda.cjs.js +1 -1
  149. package/dist/cjs/{index-3161MbMQ.js → index-BuJz1C1M.js} +647 -9
  150. package/dist/cjs/index-BuJz1C1M.js.map +1 -0
  151. package/dist/cjs/index.cjs.js +1 -1
  152. package/dist/cjs/loader.cjs.js +1 -1
  153. package/dist/collection/components/af-accordion/af-accordion.js +1 -1
  154. package/dist/collection/components/af-accordion-item/af-accordion-item.js +1 -1
  155. package/dist/collection/components/af-button-group/af-button-group.js +1 -1
  156. package/dist/collection/components/af-card/af-card.js +1 -1
  157. package/dist/collection/components/af-center/af-center.js +1 -1
  158. package/dist/collection/components/af-checkbox/af-checkbox.js +1 -1
  159. package/dist/collection/components/af-client-carousel/af-client-carousel.js +1 -1
  160. package/dist/collection/components/af-contact-item/af-contact-item.js +1 -1
  161. package/dist/collection/components/af-divider/af-divider.js +1 -1
  162. package/dist/collection/components/af-feature-accordion/af-feature-accordion.js +2 -2
  163. package/dist/collection/components/af-feature-grid/af-feature-grid.js +1 -1
  164. package/dist/collection/components/af-fieldset/af-fieldset.js +1 -1
  165. package/dist/collection/components/af-footer/af-footer.js +1 -1
  166. package/dist/collection/components/af-footer-column/af-footer-column.js +1 -1
  167. package/dist/collection/components/af-footer-link/af-footer-link.js +1 -1
  168. package/dist/collection/components/af-grid/af-grid.js +2 -2
  169. package/dist/collection/components/af-hero/af-hero.js +2 -2
  170. package/dist/collection/components/af-icon-box/af-icon-box.js +1 -1
  171. package/dist/collection/components/af-icon-text/af-icon-text.js +1 -1
  172. package/dist/collection/components/af-illustrated-card/af-illustrated-card.js +1 -1
  173. package/dist/collection/components/af-image/af-image.js +1 -1
  174. package/dist/collection/components/af-in-page-banner/af-in-page-banner.js +1 -1
  175. package/dist/collection/components/af-inline/af-inline.js +1 -1
  176. package/dist/collection/components/af-input/af-input.js +1 -1
  177. package/dist/collection/components/af-logo/af-logo.js +1 -1
  178. package/dist/collection/components/af-logo-well/af-logo-well.js +1 -1
  179. package/dist/collection/components/af-nav-accordion/af-nav-accordion.js +1 -1
  180. package/dist/collection/components/af-nav-accordion-item/af-nav-accordion-item.js +2 -2
  181. package/dist/collection/components/af-nav-menu/af-nav-menu.js +1 -1
  182. package/dist/collection/components/af-nav-menu-nest/af-nav-menu-nest.js +1 -1
  183. package/dist/collection/components/af-navbar/af-navbar.js +1 -1
  184. package/dist/collection/components/af-navbar/af-navbar.js.map +1 -1
  185. package/dist/collection/components/af-number-badge/af-number-badge.js +1 -1
  186. package/dist/collection/components/af-numbered-stepper/af-numbered-stepper.js +1 -1
  187. package/dist/collection/components/af-numbered-stepper-item/af-numbered-stepper-item.js +1 -1
  188. package/dist/collection/components/af-paperclip-decoration/af-paperclip-decoration.js +1 -1
  189. package/dist/collection/components/af-progress-line/af-progress-line.js +2 -2
  190. package/dist/collection/components/af-radio/af-radio.js +1 -1
  191. package/dist/collection/components/af-section/af-section.js +2 -2
  192. package/dist/collection/components/af-show/af-show.js +1 -1
  193. package/dist/collection/components/af-social-link/af-social-link.js +1 -1
  194. package/dist/collection/components/af-spacer/af-spacer.js +1 -1
  195. package/dist/collection/components/af-split-section/af-split-section.js +2 -2
  196. package/dist/collection/components/af-stack/af-stack.js +1 -1
  197. package/dist/collection/components/af-stat/af-stat.js +1 -1
  198. package/dist/collection/components/af-stats-row/af-stats-row.js +1 -1
  199. package/dist/collection/components/af-stepper/af-stepper.js +1 -1
  200. package/dist/collection/components/af-stepper-step/af-stepper-step.js +1 -1
  201. package/dist/collection/components/af-switch/af-switch.js +1 -1
  202. package/dist/collection/components/af-tab/af-tab.js +1 -1
  203. package/dist/collection/components/af-tab-bar/af-tab-bar.js +1 -1
  204. package/dist/collection/components/af-tag/af-tag.js +2 -2
  205. package/dist/collection/components/af-testimonial/af-testimonial.js +2 -2
  206. package/dist/collection/components/af-testimonial-carousel/af-testimonial-carousel.js +1 -1
  207. package/dist/collection/components/af-testimonial-stat/af-testimonial-stat.js +1 -1
  208. package/dist/collection/components/af-text-image-nest/af-text-image-nest.js +1 -1
  209. package/dist/collection/components/af-textarea/af-textarea.js +1 -1
  210. package/dist/collection/components/af-theme-override/af-theme-override.js +1 -1
  211. package/dist/collection/components/af-typography-lockup/af-typography-lockup.js +1 -1
  212. package/dist/collection/components/af-video-container/af-video-container.js +1 -1
  213. package/dist/collection/components/af-visually-hidden/af-visually-hidden.js +1 -1
  214. package/dist/components/af-accordion-item.js +2 -2
  215. package/dist/components/af-accordion.js +2 -2
  216. package/dist/components/af-aspect-ratio.js +1 -1
  217. package/dist/components/af-button-group.js +1 -1
  218. package/dist/components/af-button.js +1 -1
  219. package/dist/components/af-card.js +1 -1
  220. package/dist/components/af-center.js +2 -2
  221. package/dist/components/af-checkbox.js +1 -1
  222. package/dist/components/af-client-carousel.js +2 -2
  223. package/dist/components/af-color-swatch.js +1 -1
  224. package/dist/components/af-contact-item.js +2 -2
  225. package/dist/components/af-container.js +1 -1
  226. package/dist/components/af-divider.js +2 -2
  227. package/dist/components/af-feature-accordion.js +3 -3
  228. package/dist/components/af-feature-card.js +1 -1
  229. package/dist/components/af-feature-grid.js +3 -3
  230. package/dist/components/af-fieldset.js +1 -1
  231. package/dist/components/af-footer-column.js +2 -2
  232. package/dist/components/af-footer-link.js +2 -2
  233. package/dist/components/af-footer.js +2 -2
  234. package/dist/components/af-grid-callout.js +2 -2
  235. package/dist/components/af-grid.js +3 -3
  236. package/dist/components/af-heading.js +1 -1
  237. package/dist/components/af-hero.js +1 -1
  238. package/dist/components/af-icon-box.js +1 -1
  239. package/dist/components/af-icon-button.js +1 -1
  240. package/dist/components/af-icon-text.js +5 -5
  241. package/dist/components/af-icon.js +1 -1
  242. package/dist/components/af-illustrated-card.js +1 -1
  243. package/dist/components/af-image.js +1 -1
  244. package/dist/components/af-in-page-banner.js +3 -3
  245. package/dist/components/af-inline.js +2 -2
  246. package/dist/components/af-input.js +1 -1
  247. package/dist/components/af-logo-well.js +2 -2
  248. package/dist/components/af-logo.js +1 -1
  249. package/dist/components/af-nav-accordion-item.js +3 -3
  250. package/dist/components/af-nav-accordion.js +2 -2
  251. package/dist/components/af-nav-card.js +1 -1
  252. package/dist/components/af-nav-item.js +1 -1
  253. package/dist/components/af-nav-menu-nest.js +2 -2
  254. package/dist/components/af-nav-menu.js +2 -2
  255. package/dist/components/af-navbar.js +1 -1
  256. package/dist/components/af-number-badge.js +1 -1
  257. package/dist/components/af-numbered-stepper-item.js +4 -4
  258. package/dist/components/af-numbered-stepper.js +2 -2
  259. package/dist/components/af-paperclip-decoration.js +2 -2
  260. package/dist/components/af-progress-line.js +1 -1
  261. package/dist/components/af-radio.js +1 -1
  262. package/dist/components/af-section.js +1 -1
  263. package/dist/components/af-show.js +2 -2
  264. package/dist/components/af-social-link.js +2 -2
  265. package/dist/components/af-spacer.js +2 -2
  266. package/dist/components/af-split-section.js +4 -4
  267. package/dist/components/af-stack.js +2 -2
  268. package/dist/components/af-stat.js +4 -4
  269. package/dist/components/af-stats-row.js +2 -2
  270. package/dist/components/af-stepper-step.js +2 -2
  271. package/dist/components/af-stepper.js +2 -2
  272. package/dist/components/af-switch.js +1 -1
  273. package/dist/components/af-tab-bar.js +1 -1
  274. package/dist/components/af-tab.js +1 -1
  275. package/dist/components/af-tag.js +1 -1
  276. package/dist/components/af-testimonial-carousel.js +3 -3
  277. package/dist/components/af-testimonial-stat.js +4 -4
  278. package/dist/components/af-testimonial.js +6 -6
  279. package/dist/components/af-text-image-nest.js +2 -2
  280. package/dist/components/af-text-image.js +2 -2
  281. package/dist/components/af-text.js +1 -1
  282. package/dist/components/af-textarea.js +1 -1
  283. package/dist/components/af-theme-override.js +2 -2
  284. package/dist/components/af-typography-lockup.js +1 -1
  285. package/dist/components/af-video-container.js +4 -4
  286. package/dist/components/af-visually-hidden.js +2 -2
  287. package/dist/components/index.js +25 -25
  288. package/dist/components/{p-BysQTjHh.js → p-B7J9U9if.js} +4 -4
  289. package/dist/components/{p-BysQTjHh.js.map → p-B7J9U9if.js.map} +1 -1
  290. package/dist/components/{p-1ol-T8nk.js → p-BExjo6P2.js} +5 -5
  291. package/dist/components/p-BExjo6P2.js.map +1 -0
  292. package/dist/components/{p-C7gWqhJQ.js → p-B_r5b4JI.js} +4 -4
  293. package/dist/components/{p-C7gWqhJQ.js.map → p-B_r5b4JI.js.map} +1 -1
  294. package/dist/components/{p-DBkfDqnN.js → p-Bebi4EvS.js} +4 -4
  295. package/dist/components/{p-DBkfDqnN.js.map → p-Bebi4EvS.js.map} +1 -1
  296. package/dist/components/{p-OefAiC9E.js → p-BipyebXl.js} +4 -4
  297. package/dist/components/{p-OefAiC9E.js.map → p-BipyebXl.js.map} +1 -1
  298. package/dist/components/{p-CiY0Twna.js → p-Btpdr0Bi.js} +644 -9
  299. package/dist/components/p-Btpdr0Bi.js.map +1 -0
  300. package/dist/components/{p-CaHyFRpU.js → p-C05qWmXd.js} +3 -3
  301. package/dist/components/{p-CaHyFRpU.js.map → p-C05qWmXd.js.map} +1 -1
  302. package/dist/components/{p-G5cG9ahw.js → p-C1nX4HkM.js} +3 -3
  303. package/dist/components/{p-G5cG9ahw.js.map → p-C1nX4HkM.js.map} +1 -1
  304. package/dist/components/{p-DGlAo2Hc.js → p-C8HmyE5-.js} +3 -3
  305. package/dist/components/{p-DGlAo2Hc.js.map → p-C8HmyE5-.js.map} +1 -1
  306. package/dist/components/{p-DmlCoFGW.js → p-CMatO7AD.js} +3 -3
  307. package/dist/components/{p-DmlCoFGW.js.map → p-CMatO7AD.js.map} +1 -1
  308. package/dist/components/{p-DjjPGV3a.js → p-CPPy4ZvS.js} +6 -6
  309. package/dist/components/{p-DjjPGV3a.js.map → p-CPPy4ZvS.js.map} +1 -1
  310. package/dist/components/{p-CDPPh9ES.js → p-CY3F_EFI.js} +5 -5
  311. package/dist/components/{p-CDPPh9ES.js.map → p-CY3F_EFI.js.map} +1 -1
  312. package/dist/components/{p-B-hgy9Qr.js → p-CeWN48Eq.js} +3 -3
  313. package/dist/components/{p-B-hgy9Qr.js.map → p-CeWN48Eq.js.map} +1 -1
  314. package/dist/components/{p-CTDelwMf.js → p-CkaL7yIW.js} +4 -4
  315. package/dist/components/{p-CTDelwMf.js.map → p-CkaL7yIW.js.map} +1 -1
  316. package/dist/components/{p-DYZT-0xm.js → p-CmOT3tAE.js} +4 -4
  317. package/dist/components/{p-DYZT-0xm.js.map → p-CmOT3tAE.js.map} +1 -1
  318. package/dist/components/{p-D6WBvdoZ.js → p-CmU4eYJE.js} +5 -5
  319. package/dist/components/{p-D6WBvdoZ.js.map → p-CmU4eYJE.js.map} +1 -1
  320. package/dist/components/{p-gD0WsQqs.js → p-CxQXmlHR.js} +5 -5
  321. package/dist/components/{p-gD0WsQqs.js.map → p-CxQXmlHR.js.map} +1 -1
  322. package/dist/components/{p-uvbCz67Q.js → p-D1kXpb5A.js} +5 -5
  323. package/dist/components/{p-uvbCz67Q.js.map → p-D1kXpb5A.js.map} +1 -1
  324. package/dist/components/{p-CeBCwjRf.js → p-D5-m35gX.js} +3 -3
  325. package/dist/components/{p-CeBCwjRf.js.map → p-D5-m35gX.js.map} +1 -1
  326. package/dist/components/{p-CdR70Kv1.js → p-DBtE-heu.js} +6 -6
  327. package/dist/components/{p-CdR70Kv1.js.map → p-DBtE-heu.js.map} +1 -1
  328. package/dist/components/{p--aWqZ9H9.js → p-DMXuAjLo.js} +3 -3
  329. package/dist/components/{p--aWqZ9H9.js.map → p-DMXuAjLo.js.map} +1 -1
  330. package/dist/components/{p-G-vNzZpq.js → p-DNdQkidf.js} +4 -4
  331. package/dist/components/{p-G-vNzZpq.js.map → p-DNdQkidf.js.map} +1 -1
  332. package/dist/components/{p-PKWusChD.js → p-DOZPKyww.js} +4 -4
  333. package/dist/components/{p-PKWusChD.js.map → p-DOZPKyww.js.map} +1 -1
  334. package/dist/components/{p-C0enaaNi.js → p-DUWgh2he.js} +4 -4
  335. package/dist/components/{p-C0enaaNi.js.map → p-DUWgh2he.js.map} +1 -1
  336. package/dist/components/{p-sxltTNnO.js → p-Dd_y3e80.js} +4 -4
  337. package/dist/components/{p-sxltTNnO.js.map → p-Dd_y3e80.js.map} +1 -1
  338. package/dist/components/{p-Xy0_sffa.js → p-DinivoZj.js} +4 -4
  339. package/dist/components/{p-Xy0_sffa.js.map → p-DinivoZj.js.map} +1 -1
  340. package/dist/components/{p-DWD7Oc5l.js → p-DrEl4PxE.js} +3 -3
  341. package/dist/components/{p-DWD7Oc5l.js.map → p-DrEl4PxE.js.map} +1 -1
  342. package/dist/components/{p-D44TKuX4.js → p-DrXw6vxx.js} +4 -4
  343. package/dist/components/{p-D44TKuX4.js.map → p-DrXw6vxx.js.map} +1 -1
  344. package/dist/components/{p-Bx-hxLP0.js → p-FV14KcoH.js} +3 -3
  345. package/dist/components/{p-Bx-hxLP0.js.map → p-FV14KcoH.js.map} +1 -1
  346. package/dist/components/{p-D7xVlaes.js → p-WJ7nfpxz.js} +8 -8
  347. package/dist/components/{p-D7xVlaes.js.map → p-WJ7nfpxz.js.map} +1 -1
  348. package/dist/components/{p-Dga7rIrc.js → p-XmT5SQOF.js} +4 -4
  349. package/dist/components/{p-Dga7rIrc.js.map → p-XmT5SQOF.js.map} +1 -1
  350. package/dist/components/{p-Bi6_eN-1.js → p-joRNg4Kk.js} +4 -4
  351. package/dist/components/{p-Bi6_eN-1.js.map → p-joRNg4Kk.js.map} +1 -1
  352. package/dist/esm/af-accordion-item.entry.js +2 -2
  353. package/dist/esm/af-accordion.entry.js +2 -2
  354. package/dist/esm/af-aspect-ratio.entry.js +1 -1
  355. package/dist/esm/af-button-group.entry.js +2 -2
  356. package/dist/esm/af-button.entry.js +1 -1
  357. package/dist/esm/af-card.entry.js +2 -2
  358. package/dist/esm/af-center.entry.js +2 -2
  359. package/dist/esm/af-checkbox.entry.js +2 -2
  360. package/dist/esm/af-client-carousel.entry.js +2 -2
  361. package/dist/esm/af-color-swatch.entry.js +1 -1
  362. package/dist/esm/af-contact-item.entry.js +2 -2
  363. package/dist/esm/af-container.entry.js +1 -1
  364. package/dist/esm/af-divider.entry.js +2 -2
  365. package/dist/esm/af-feature-accordion.entry.js +3 -3
  366. package/dist/esm/af-feature-card.entry.js +1 -1
  367. package/dist/esm/af-feature-grid.entry.js +2 -2
  368. package/dist/esm/af-fieldset.entry.js +2 -2
  369. package/dist/esm/af-footer-column.entry.js +2 -2
  370. package/dist/esm/af-footer-link.entry.js +2 -2
  371. package/dist/esm/af-footer.entry.js +2 -2
  372. package/dist/esm/af-grid-callout.entry.js +1 -1
  373. package/dist/esm/af-grid.entry.js +3 -3
  374. package/dist/esm/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.js.map +1 -1
  375. package/dist/esm/af-heading_5.entry.js +3 -3
  376. package/dist/esm/af-hero.entry.js +3 -3
  377. package/dist/esm/af-icon-box.entry.js +2 -2
  378. package/dist/esm/af-icon-button.entry.js +1 -1
  379. package/dist/esm/af-icon-text.entry.js +2 -2
  380. package/dist/esm/af-icon.entry.js +1 -1
  381. package/dist/esm/af-illustrated-card.entry.js +2 -2
  382. package/dist/esm/af-image.entry.js +2 -2
  383. package/dist/esm/af-in-page-banner.entry.js +2 -2
  384. package/dist/esm/af-inline.entry.js +2 -2
  385. package/dist/esm/af-input.entry.js +2 -2
  386. package/dist/esm/af-logo-well.entry.js +2 -2
  387. package/dist/esm/af-nav-accordion-item.entry.js +3 -3
  388. package/dist/esm/af-nav-accordion.entry.js +2 -2
  389. package/dist/esm/af-nav-card.entry.js +1 -1
  390. package/dist/esm/af-nav-menu-nest.entry.js +2 -2
  391. package/dist/esm/af-nav-menu.entry.js +2 -2
  392. package/dist/esm/af-number-badge.entry.js +2 -2
  393. package/dist/esm/af-numbered-stepper-item.entry.js +2 -2
  394. package/dist/esm/af-numbered-stepper.entry.js +2 -2
  395. package/dist/esm/af-paperclip-decoration.entry.js +2 -2
  396. package/dist/esm/af-progress-line.entry.js +3 -3
  397. package/dist/esm/af-radio.entry.js +2 -2
  398. package/dist/esm/af-section.entry.js +3 -3
  399. package/dist/esm/af-show.entry.js +2 -2
  400. package/dist/esm/af-social-link.entry.js +2 -2
  401. package/dist/esm/af-spacer.entry.js +2 -2
  402. package/dist/esm/af-split-section.entry.js +3 -3
  403. package/dist/esm/af-stack.entry.js +2 -2
  404. package/dist/esm/af-stat.entry.js +2 -2
  405. package/dist/esm/af-stats-row.entry.js +2 -2
  406. package/dist/esm/af-stepper-step.entry.js +2 -2
  407. package/dist/esm/af-stepper.entry.js +2 -2
  408. package/dist/esm/af-switch.entry.js +2 -2
  409. package/dist/esm/af-tab-bar.entry.js +2 -2
  410. package/dist/esm/af-tab.entry.js +2 -2
  411. package/dist/esm/af-tag.entry.js +3 -3
  412. package/dist/esm/af-testimonial-carousel.entry.js +2 -2
  413. package/dist/esm/af-testimonial-stat.entry.js +2 -2
  414. package/dist/esm/af-testimonial.entry.js +3 -3
  415. package/dist/esm/af-text-image-nest.entry.js +2 -2
  416. package/dist/esm/af-text-image.entry.js +1 -1
  417. package/dist/esm/af-textarea.entry.js +2 -2
  418. package/dist/esm/af-theme-override.entry.js +2 -2
  419. package/dist/esm/af-typography-lockup.entry.js +2 -2
  420. package/dist/esm/af-video-container.entry.js +2 -2
  421. package/dist/esm/af-visually-hidden.entry.js +2 -2
  422. package/dist/esm/affinda.js +2 -2
  423. package/dist/esm/{index-C4WBekD2.js → index-CYq0zyKH.js} +647 -9
  424. package/dist/esm/index-CYq0zyKH.js.map +1 -0
  425. package/dist/esm/index.js +1 -1
  426. package/dist/esm/loader.js +2 -2
  427. package/dist/hydrate/index.d.ts +275 -0
  428. package/dist/hydrate/index.js +24871 -0
  429. package/dist/hydrate/index.mjs +24863 -0
  430. package/dist/hydrate/package.json +12 -0
  431. package/package.json +21 -1
  432. package/dist/affinda/p-14bd7903.entry.js +0 -2
  433. package/dist/affinda/p-1902ed20.entry.js +0 -2
  434. package/dist/affinda/p-3238f8e8.entry.js +0 -2
  435. package/dist/affinda/p-432ee0e3.entry.js +0 -2
  436. package/dist/affinda/p-6b7fcb18.entry.js +0 -2
  437. package/dist/affinda/p-9963bec0.entry.js +0 -2
  438. package/dist/affinda/p-C4WBekD2.js +0 -3
  439. package/dist/affinda/p-C4WBekD2.js.map +0 -1
  440. package/dist/affinda/p-adabec15.entry.js +0 -2
  441. package/dist/affinda/p-b65cf4c3.entry.js +0 -2
  442. package/dist/affinda/p-ec042bc4.entry.js +0 -2
  443. package/dist/cjs/index-3161MbMQ.js.map +0 -1
  444. package/dist/components/p-1ol-T8nk.js.map +0 -1
  445. package/dist/components/p-CiY0Twna.js.map +0 -1
  446. package/dist/esm/index-C4WBekD2.js.map +0 -1
  447. /package/dist/affinda/{p-9610cd3c.entry.js.map → p-02c6f6d1.entry.js.map} +0 -0
  448. /package/dist/affinda/{p-5885ebd3.entry.js.map → p-0c7d81d0.entry.js.map} +0 -0
  449. /package/dist/affinda/{p-bc77706d.entry.js.map → p-1554f3d7.entry.js.map} +0 -0
  450. /package/dist/affinda/{p-57fcfd78.entry.js.map → p-15a1d019.entry.js.map} +0 -0
  451. /package/dist/affinda/{p-f9ecbde8.entry.js.map → p-1819ae80.entry.js.map} +0 -0
  452. /package/dist/affinda/{p-750063ab.entry.js.map → p-1a71d0f9.entry.js.map} +0 -0
  453. /package/dist/affinda/{p-4f15b8f0.entry.js.map → p-1e59a051.entry.js.map} +0 -0
  454. /package/dist/affinda/{p-ce77f08f.entry.js.map → p-1f2f7fff.entry.js.map} +0 -0
  455. /package/dist/affinda/{p-67e8c6f6.entry.js.map → p-20faf28d.entry.js.map} +0 -0
  456. /package/dist/affinda/{p-42c4d7b1.entry.js.map → p-2716cdc4.entry.js.map} +0 -0
  457. /package/dist/affinda/{p-fff252df.entry.js.map → p-3084cb0f.entry.js.map} +0 -0
  458. /package/dist/affinda/{p-67a27eaf.entry.js.map → p-31d96ddc.entry.js.map} +0 -0
  459. /package/dist/affinda/{p-7eca844d.entry.js.map → p-374f9557.entry.js.map} +0 -0
  460. /package/dist/affinda/{p-ea150b3d.entry.js.map → p-3fd3d4cd.entry.js.map} +0 -0
  461. /package/dist/affinda/{p-587fd0fa.entry.js.map → p-41580a3c.entry.js.map} +0 -0
  462. /package/dist/affinda/{p-43a0286a.entry.js.map → p-47d2f72b.entry.js.map} +0 -0
  463. /package/dist/affinda/{p-d923549d.entry.js.map → p-50e12df0.entry.js.map} +0 -0
  464. /package/dist/affinda/{p-9b115359.entry.js.map → p-54dc41a9.entry.js.map} +0 -0
  465. /package/dist/affinda/{p-05072f90.entry.js.map → p-56e96bd3.entry.js.map} +0 -0
  466. /package/dist/affinda/{p-f7fc76d2.entry.js.map → p-5834ffe7.entry.js.map} +0 -0
  467. /package/dist/affinda/{p-9e19a477.entry.js.map → p-5e966aa6.entry.js.map} +0 -0
  468. /package/dist/affinda/{p-3dd90f46.entry.js.map → p-616e0116.entry.js.map} +0 -0
  469. /package/dist/affinda/{p-ec042bc4.entry.js.map → p-64159112.entry.js.map} +0 -0
  470. /package/dist/affinda/{p-a7b51bb6.entry.js.map → p-656630fc.entry.js.map} +0 -0
  471. /package/dist/affinda/{p-44e976ee.entry.js.map → p-67b08108.entry.js.map} +0 -0
  472. /package/dist/affinda/{p-26a6d9a7.entry.js.map → p-75d76909.entry.js.map} +0 -0
  473. /package/dist/affinda/{p-b82fc7f1.entry.js.map → p-761f06ae.entry.js.map} +0 -0
  474. /package/dist/affinda/{p-dd0cd57e.entry.js.map → p-7b08b7ba.entry.js.map} +0 -0
  475. /package/dist/affinda/{p-b8ea57a9.entry.js.map → p-7eff3490.entry.js.map} +0 -0
  476. /package/dist/affinda/{p-7c9683d8.entry.js.map → p-838bbc80.entry.js.map} +0 -0
  477. /package/dist/affinda/{p-5f3419c3.entry.js.map → p-88f38401.entry.js.map} +0 -0
  478. /package/dist/affinda/{p-d6b8c3b4.entry.js.map → p-8b0d08de.entry.js.map} +0 -0
  479. /package/dist/affinda/{p-dd4c8640.entry.js.map → p-8f36e911.entry.js.map} +0 -0
  480. /package/dist/affinda/{p-c4fd7d48.entry.js.map → p-919e2144.entry.js.map} +0 -0
  481. /package/dist/affinda/{p-08a42935.entry.js.map → p-92c61bad.entry.js.map} +0 -0
  482. /package/dist/affinda/{p-9ca72e02.entry.js.map → p-95da58f3.entry.js.map} +0 -0
  483. /package/dist/affinda/{p-6b7fcb18.entry.js.map → p-976e0c29.entry.js.map} +0 -0
  484. /package/dist/affinda/{p-1902ed20.entry.js.map → p-99b37588.entry.js.map} +0 -0
  485. /package/dist/affinda/{p-9963bec0.entry.js.map → p-a196f362.entry.js.map} +0 -0
  486. /package/dist/affinda/{p-ac45df4b.entry.js.map → p-a3ed4092.entry.js.map} +0 -0
  487. /package/dist/affinda/{p-d9913985.entry.js.map → p-a4b36eb7.entry.js.map} +0 -0
  488. /package/dist/affinda/{p-432ee0e3.entry.js.map → p-a6be61c2.entry.js.map} +0 -0
  489. /package/dist/affinda/{p-19dc4331.entry.js.map → p-a79077d5.entry.js.map} +0 -0
  490. /package/dist/affinda/{p-75443f08.entry.js.map → p-b31e438d.entry.js.map} +0 -0
  491. /package/dist/affinda/{p-d647ae06.entry.js.map → p-b77fa201.entry.js.map} +0 -0
  492. /package/dist/affinda/{p-d06ae9cd.entry.js.map → p-bb80195f.entry.js.map} +0 -0
  493. /package/dist/affinda/{p-7640c285.entry.js.map → p-bc59dc0e.entry.js.map} +0 -0
  494. /package/dist/affinda/{p-77ec01ee.entry.js.map → p-be219843.entry.js.map} +0 -0
  495. /package/dist/affinda/{p-bac968a1.entry.js.map → p-c15d00b5.entry.js.map} +0 -0
  496. /package/dist/affinda/{p-e90a3892.entry.js.map → p-c23d7aa5.entry.js.map} +0 -0
  497. /package/dist/affinda/{p-14bd7903.entry.js.map → p-c2a6c874.entry.js.map} +0 -0
  498. /package/dist/affinda/{p-d34da6c0.entry.js.map → p-c6aa66f3.entry.js.map} +0 -0
  499. /package/dist/affinda/{p-7013570d.entry.js.map → p-c925d301.entry.js.map} +0 -0
  500. /package/dist/affinda/{p-2586fbb8.entry.js.map → p-cc2539de.entry.js.map} +0 -0
  501. /package/dist/affinda/{p-b65cf4c3.entry.js.map → p-cd21a62a.entry.js.map} +0 -0
  502. /package/dist/affinda/{p-95b49b45.entry.js.map → p-cea1c1ff.entry.js.map} +0 -0
  503. /package/dist/affinda/{p-479a300e.entry.js.map → p-d573d115.entry.js.map} +0 -0
  504. /package/dist/affinda/{p-9b9e81cf.entry.js.map → p-d9b0f217.entry.js.map} +0 -0
  505. /package/dist/affinda/{p-6986f604.entry.js.map → p-df10dee2.entry.js.map} +0 -0
  506. /package/dist/affinda/{p-7ce2b434.entry.js.map → p-e057ebf1.entry.js.map} +0 -0
  507. /package/dist/affinda/{p-df6c7170.entry.js.map → p-e10c03b6.entry.js.map} +0 -0
  508. /package/dist/affinda/{p-e0619222.entry.js.map → p-ea5aea86.entry.js.map} +0 -0
  509. /package/dist/affinda/{p-2a8441cb.entry.js.map → p-eca85313.entry.js.map} +0 -0
  510. /package/dist/affinda/{p-255a8254.entry.js.map → p-f1705df1.entry.js.map} +0 -0
  511. /package/dist/affinda/{p-27469df6.entry.js.map → p-f38688c6.entry.js.map} +0 -0
  512. /package/dist/affinda/{p-4ccc3147.entry.js.map → p-fe09a283.entry.js.map} +0 -0
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h, H as Host } from './index-C4WBekD2.js';
1
+ import { r as registerInstance, h, H as Host } from './index-CYq0zyKH.js';
2
2
 
3
3
  const afFooterColumnCss = ".sc-af-footer-column-h{display:block}.footer-column.sc-af-footer-column{display:flex;flex-direction:column;gap:16px}.footer-column__heading.sc-af-footer-column{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;font-weight:600;color:var(--colour-tints-mistGreen-200, #C6D5D1);margin:0;text-transform:none}.footer-column__list.sc-af-footer-column{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.footer-column__list.sc-af-footer-column-s>li,.footer-column__list .sc-af-footer-column-s>li{margin:0}";
4
4
 
@@ -9,7 +9,7 @@ const AfFooterColumn = class {
9
9
  this.heading = '';
10
10
  }
11
11
  render() {
12
- return (h(Host, { key: '02afc8f33ad0417467d4e795e77a1da74c7ede57' }, h("div", { key: 'f24cbe4720cf6e5df7351e9fe8cec05cca8753b0', class: "footer-column" }, this.heading && (h("h5", { key: '1f615da8d2c755dd0ab5a9679275538d4bb5945e', class: "footer-column__heading" }, this.heading)), h("ul", { key: '0ecdc874412334c418e049dcb0fff738cfdaa52b', class: "footer-column__list" }, h("slot", { key: '148b478bbd04204b3467329f98171a538b22d650' })))));
12
+ return (h(Host, { key: '283526c985df996540e558a5591e5a167e5c4c9b' }, h("div", { key: '829fc317f3999dda3aadbb8cc68c3ce53485df12', class: "footer-column" }, this.heading && (h("h5", { key: '567141f08e21166642f7e9fea2d4becfaa9e2162', class: "footer-column__heading" }, this.heading)), h("ul", { key: 'b5b7cb63ffe3fed5d97edaa1264fab916980da8b', class: "footer-column__list" }, h("slot", { key: '4c9adcdfc3c25f42c325bc222f4b9761b82a0280' })))));
13
13
  }
14
14
  };
15
15
  AfFooterColumn.style = afFooterColumnCss;
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h, H as Host } from './index-C4WBekD2.js';
1
+ import { r as registerInstance, h, H as Host } from './index-CYq0zyKH.js';
2
2
 
3
3
  const afFooterLinkCss = ".sc-af-footer-link-h{display:contents}li.sc-af-footer-link{margin:0;list-style:none}.footer-link.sc-af-footer-link{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;font-weight:400;color:rgba(198, 213, 209, 0.7);text-decoration:none;transition:color 0.2s ease;display:inline-flex;align-items:center;gap:6px}.footer-link.sc-af-footer-link:hover{color:var(--colour-tints-mistGreen-200, #C6D5D1)}.footer-link__external-icon.sc-af-footer-link{opacity:0.7;flex-shrink:0}";
4
4
 
@@ -11,7 +11,7 @@ const AfFooterLink = class {
11
11
  this.external = false;
12
12
  }
13
13
  render() {
14
- return (h(Host, { key: 'f6c6f0433dc6bcffe507c33c0dec2590a7b167c6' }, h("li", { key: 'c2e69faa620fe59b1cec6e5c32ed37d3a34d9fb7' }, h("a", { key: '35330c42625be987164190b40d1ed1649a259a7f', href: this.href, class: "footer-link", target: this.external ? '_blank' : undefined, rel: this.external ? 'noopener noreferrer' : undefined }, h("slot", { key: '43940df1b20b76d4f9dbec8a94ec39cd56080af3' }), this.external && (h("svg", { key: '7a3e086ead102abed43ed7e765d3012c5e963306', class: "footer-link__external-icon", width: "12", height: "12", viewBox: "0 0 12 12", fill: "none" }, h("path", { key: 'e3c266072bca65c154cf925fadc4beb59dfe8f86', d: "M10 6.5v3a1 1 0 0 1-1 1H2.5a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h3M7.5 1.5h3v3M5.5 6.5l5-5", stroke: "currentColor", "stroke-width": "1.2", "stroke-linecap": "round", "stroke-linejoin": "round" })))))));
14
+ return (h(Host, { key: 'bbd1c9452688e637e2f042855b460c550a04ab7d' }, h("li", { key: '01c2e3ea98cb848935f587e7dd83a71735f9bacb' }, h("a", { key: '965d00d17484deade15cc8e502ad507e67443f8c', href: this.href, class: "footer-link", target: this.external ? '_blank' : undefined, rel: this.external ? 'noopener noreferrer' : undefined }, h("slot", { key: '4536f9279791c59a9d198454ed2bf4e60194d52e' }), this.external && (h("svg", { key: '5e7a04185d8643b164f4b35f95dba5f0312ce1f4', class: "footer-link__external-icon", width: "12", height: "12", viewBox: "0 0 12 12", fill: "none" }, h("path", { key: '6a6a43d0276a36ffc43f6a29e31a74d8c4ae3c57', d: "M10 6.5v3a1 1 0 0 1-1 1H2.5a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h3M7.5 1.5h3v3M5.5 6.5l5-5", stroke: "currentColor", "stroke-width": "1.2", "stroke-linecap": "round", "stroke-linejoin": "round" })))))));
15
15
  }
16
16
  };
17
17
  AfFooterLink.style = afFooterLinkCss;
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h, H as Host } from './index-C4WBekD2.js';
1
+ import { r as registerInstance, h, H as Host } from './index-CYq0zyKH.js';
2
2
 
3
3
  const afFooterCss = ".sc-af-footer-h{display:block}.footer.sc-af-footer{background-color:var(--colour-brand-inkwell, #14343b);color:var(--colour-tints-mistGreen-200, #C6D5D1);padding:120px 0 0}.footer__container.sc-af-footer{max-width:1280px;margin:0 auto;padding:0 24px}.footer__top.sc-af-footer{display:grid;grid-template-columns:380px 1fr;gap:48px;padding-bottom:48px}.footer__brand.sc-af-footer{display:flex;flex-direction:column;gap:16px}.footer__brand-card.sc-af-footer{background-color:rgba(198, 213, 209, 0.08);border-radius:16px;padding:32px}.footer__logo.sc-af-footer{margin-bottom:24px}.footer__logo.sc-af-footer svg.sc-af-footer,.footer__logo.sc-af-footer img.sc-af-footer{height:32px;width:auto}.footer__social.sc-af-footer{display:flex;gap:12px}.footer__social-link.sc-af-footer{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid rgba(198, 213, 209, 0.3);border-radius:50%;color:var(--colour-tints-mistGreen-200, #C6D5D1);transition:all 0.2s ease}.footer__social-link.sc-af-footer:hover{background-color:rgba(198, 213, 209, 0.1);border-color:rgba(198, 213, 209, 0.5)}.footer__contact-card.sc-af-footer{background-color:rgba(198, 213, 209, 0.08);border-radius:16px;padding:24px 32px;display:flex;flex-direction:column;gap:20px}.footer__contact-item.sc-af-footer{display:flex;flex-direction:column;gap:4px}.footer__contact-label.sc-af-footer{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;font-weight:600;color:var(--colour-tints-mistGreen-200, #C6D5D1);margin:0}.footer__contact-value.sc-af-footer{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;font-weight:400;color:rgba(198, 213, 209, 0.7);margin:0}.footer__nav.sc-af-footer{display:flex;flex-direction:column;justify-content:space-between}.footer__nav-columns.sc-af-footer{display:grid;grid-template-columns:repeat(4, 1fr);gap:32px}.footer__nav-column.sc-af-footer{display:flex;flex-direction:column;gap:16px}.footer__nav-heading.sc-af-footer{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;font-weight:600;color:var(--colour-tints-mistGreen-200, #C6D5D1);margin:0;text-transform:none}.footer__nav-list.sc-af-footer{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.footer__nav-list.sc-af-footer li.sc-af-footer{margin:0}.footer__nav-list.sc-af-footer a.sc-af-footer{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;font-weight:400;color:rgba(198, 213, 209, 0.7);text-decoration:none;transition:color 0.2s ease;display:inline-flex;align-items:center;gap:6px}.footer__nav-list.sc-af-footer a.sc-af-footer:hover{color:var(--colour-tints-mistGreen-200, #C6D5D1)}.footer__external-icon.sc-af-footer{opacity:0.7;flex-shrink:0}.footer__status.sc-af-footer{display:flex;align-items:center;gap:8px;margin-top:32px;padding-top:24px;border-top:1px solid rgba(198, 213, 209, 0.1)}.footer__status-dot.sc-af-footer{width:10px;height:10px;border-radius:50%;flex-shrink:0}.footer__status-dot--operational.sc-af-footer{background-color:var(--status-ok, #3E8F6E)}.footer__status-dot--issue.sc-af-footer{background-color:var(--status-issue, #B94A3B)}.footer__status-text.sc-af-footer{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;color:rgba(198, 213, 209, 0.7)}.footer__status-link.sc-af-footer{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;color:var(--colour-tints-mistGreen-200, #C6D5D1);text-decoration:underline;text-underline-offset:2px;margin-left:8px}.footer__status-link.sc-af-footer:hover{text-decoration:none}.footer__bottom.sc-af-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px;padding:24px 0;border-top:1px solid rgba(198, 213, 209, 0.1);background-color:rgba(198, 213, 209, 0.05);margin:0 -24px;padding-left:calc(24px + env(safe-area-inset-left));padding-right:calc(24px + env(safe-area-inset-right));padding-bottom:max(24px, env(safe-area-inset-bottom))}.footer__copyright.sc-af-footer{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;color:rgba(198, 213, 209, 0.7);margin:0}.footer__legal.sc-af-footer{display:flex;gap:24px}.footer__legal.sc-af-footer a.sc-af-footer{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;color:rgba(198, 213, 209, 0.7);text-decoration:underline;text-underline-offset:2px}.footer__legal.sc-af-footer a.sc-af-footer:hover{color:var(--colour-tints-mistGreen-200, #C6D5D1);text-decoration:none}.footer__badges.sc-af-footer{display:flex;gap:16px;align-items:center}.footer__badge.sc-af-footer{width:48px;height:48px;display:flex;align-items:center;justify-content:center}.footer__badge.sc-af-footer svg.sc-af-footer{width:100%;height:100%}@media (max-width: 1024px){.footer__top.sc-af-footer{grid-template-columns:1fr;gap:48px}.footer__brand.sc-af-footer{flex-direction:row;gap:16px}.footer__brand-card.sc-af-footer,.footer__contact-card.sc-af-footer{flex:1}}@media (max-width: 768px){.footer.sc-af-footer{padding:48px 0 0}.footer__top.sc-af-footer{gap:32px}.footer__brand.sc-af-footer{flex-direction:column}.footer__nav-columns.sc-af-footer{grid-template-columns:repeat(2, 1fr);gap:32px}.footer__bottom.sc-af-footer{flex-direction:column;align-items:flex-start;gap:16px}.footer__legal.sc-af-footer{flex-wrap:wrap;gap:16px}}@media (max-width: 480px){.footer__container.sc-af-footer{padding:0 16px}.footer__brand-card.sc-af-footer,.footer__contact-card.sc-af-footer{padding:24px}.footer__nav-columns.sc-af-footer{grid-template-columns:1fr;gap:24px}.footer__bottom.sc-af-footer{margin:0 -16px;padding-left:calc(16px + env(safe-area-inset-left));padding-right:calc(16px + env(safe-area-inset-right))}.footer__badges.sc-af-footer{width:100%;justify-content:flex-start}}";
4
4
 
@@ -17,7 +17,7 @@ const AfFooter = class {
17
17
  this.showStatus = true;
18
18
  }
19
19
  render() {
20
- return (h(Host, { key: '0f0b3ac453f4bf2f17d0185484c312aae99d4f5e' }, h("footer", { key: '017d608cb00c9fb3da012fe9941e80cd9d5135e8', class: "footer" }, h("div", { key: '545a499bd2b75a1efea1efe1659e336753bcce46', class: "footer__container" }, h("div", { key: '66ed8e54b1af9445e15cb4e650d54a240f158c8c', class: "footer__top" }, h("div", { key: 'b4b442dbcaf2e52aae6c76706ecff5aa928bf2f5', class: "footer__brand" }, h("div", { key: '73ad4e70efa91fe96c6de0b80f270c470c73c8e4', class: "footer__brand-card" }, h("div", { key: '0ef27728bb86632b9451ed94220528f527ba62bb', class: "footer__logo" }, h("slot", { key: '5f6de1e2b9f7e9523ce49414ec1bf88a8411478b', name: "logo" })), h("div", { key: 'fdc742da1adce4e0a874c2ee1998e051aea5f10a', class: "footer__social" }, h("slot", { key: '3073881efc66cf692b3d986e11798587cba6f272', name: "social" }))), h("div", { key: '5fe296475d338597af763acb3957a406b5fdf887', class: "footer__contact-card" }, h("slot", { key: '38be1a96c41c246fba05b7ec080b50330ab43f22', name: "contact" }))), h("div", { key: 'e12c9774d5d4806728b375386a0491ed2e7a1d74', class: "footer__nav" }, h("div", { key: '6c5e293d11a87f48add7799c86fe5ff14618094c', class: "footer__nav-columns" }, h("slot", { key: '5d189a739cbdb1b989eb77008aac4b3f91be4940', name: "nav" })), this.showStatus && (h("div", { key: '29f8108dfd88e8f83f75dc765870621055bb952a', class: "footer__status" }, h("span", { key: '4e61880dc288cfc19fbef5a91fdc5295512d725a', class: `footer__status-dot ${this.systemsOperational ? 'footer__status-dot--operational' : 'footer__status-dot--issue'}` }), h("span", { key: 'dd1055516d076ac8a814e7b60bedf6989341225c', class: "footer__status-text" }, this.statusText), this.statusUrl && (h("a", { key: '7ddb72ef4df731dcadc479a6ecbe059b1ca569cb', href: this.statusUrl, target: "_blank", rel: "noopener noreferrer", class: "footer__status-link" }, "Learn more")))))), h("div", { key: 'c5acf298a42067cad20c914350e6f89b98e16162', class: "footer__bottom" }, this.copyrightText && (h("p", { key: 'ed923670ea3258db98b0eb7a5e197e87b5f45784', class: "footer__copyright" }, this.copyrightText)), h("div", { key: '7a71bf0cf0f44bb38c4c696fd151ecbea2d3de1b', class: "footer__legal" }, h("slot", { key: 'afef7ce942c8fe362fb83d03438604378b4ac8f7', name: "legal" })), h("div", { key: 'b8940476d2cae97bc70916f4252e2a3337da37b8', class: "footer__badges" }, h("slot", { key: '3b076b800f2771237ea8f7fc2f1cc2c46c2e4ccc', name: "badges" })))))));
20
+ return (h(Host, { key: '861c5bfe1b522545870fe67192553a621f0928d1' }, h("footer", { key: '03c309b37ec977d65b36198fc8fcf549add90c43', class: "footer" }, h("div", { key: 'db23fd931863f40d95c51716fcdbb63855133db7', class: "footer__container" }, h("div", { key: 'eca38acbdc47474cc250b9a41528971676e95765', class: "footer__top" }, h("div", { key: '2cfd74ee3d56e0778ce6d10b83b75994d384fe10', class: "footer__brand" }, h("div", { key: '425f59ec107962c91b5fed5d989fe67bc8454cc5', class: "footer__brand-card" }, h("div", { key: '11d932a2f59e5467c40842b327c260f8d1c90837', class: "footer__logo" }, h("slot", { key: '02a8bee27310753862376d90cbdfc55012462520', name: "logo" })), h("div", { key: '1ee36e17b70b818f8ea44c06b9b3d2c22fafac96', class: "footer__social" }, h("slot", { key: '45ff0b3003ffb550ecf30274a2fc6535833d0686', name: "social" }))), h("div", { key: '34a16c80d4f6680034d84c61666b580acd3a9eea', class: "footer__contact-card" }, h("slot", { key: 'c3b40328bcc65add5293e5a38fd5747fdb83b0fc', name: "contact" }))), h("div", { key: '5654e1a39634ebb8f7ccda5325c46db5f6052fba', class: "footer__nav" }, h("div", { key: '42108b09428adac653c3f7c351bf2192695caf19', class: "footer__nav-columns" }, h("slot", { key: 'ceb76c14151308458646c8f446a29058caca824e', name: "nav" })), this.showStatus && (h("div", { key: 'b24841e909ca9fab2ed473770dda0266e4f8dcc1', class: "footer__status" }, h("span", { key: 'f7ae4e7a10da63020fe5a1ed6db747960a75649e', class: `footer__status-dot ${this.systemsOperational ? 'footer__status-dot--operational' : 'footer__status-dot--issue'}` }), h("span", { key: 'b0073fedf76be2b079ce470112df2c13bed22224', class: "footer__status-text" }, this.statusText), this.statusUrl && (h("a", { key: '77f7e45dfa0ae32e8346500c3d00cbad277fe1a1', href: this.statusUrl, target: "_blank", rel: "noopener noreferrer", class: "footer__status-link" }, "Learn more")))))), h("div", { key: 'f544acdee6fe1ee1841b4667034b3bc89b2f3669', class: "footer__bottom" }, this.copyrightText && (h("p", { key: '4d420e42a2abe1493a77e40e838d5644373d1c1f', class: "footer__copyright" }, this.copyrightText)), h("div", { key: '3fcff3a343acabb362675c15b30f489c3f2b6918', class: "footer__legal" }, h("slot", { key: '66f4b372a38bbee2f2db87ac554cafbb7f97f878', name: "legal" })), h("div", { key: '81c800496c83695e303f13f904e6662c3a9300c9', class: "footer__badges" }, h("slot", { key: '667b1c600f34fec004ecfd5b6879256aeaa36480', name: "badges" })))))));
21
21
  }
22
22
  };
23
23
  AfFooter.style = afFooterCss;
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h, H as Host } from './index-C4WBekD2.js';
1
+ import { r as registerInstance, h, H as Host } from './index-CYq0zyKH.js';
2
2
 
3
3
  const afGridCalloutCss = ".sc-af-grid-callout-h{display:block;width:100%}.grid-callout.sc-af-grid-callout{display:flex;width:100%;gap:40px;align-items:stretch}.grid-callout__image-container.sc-af-grid-callout{flex:0 0 auto;width:45%;min-height:400px;position:relative;overflow:hidden}.grid-callout--image-left.sc-af-grid-callout .grid-callout__image-container.sc-af-grid-callout{border-radius:0 4000px 4000px 0;margin-left:calc(-1 * var(--container-padding, 80px))}.grid-callout--image-right.sc-af-grid-callout .grid-callout__image-container.sc-af-grid-callout{border-radius:4000px 0 0 4000px;margin-right:calc(-1 * var(--container-padding, 80px))}.grid-callout__image.sc-af-grid-callout{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.grid-callout__content.sc-af-grid-callout{flex:1;display:flex;flex-direction:column;gap:48px;padding:40px 0}.grid-callout--image-left.sc-af-grid-callout .grid-callout__content.sc-af-grid-callout{padding-left:40px}.grid-callout--image-right.sc-af-grid-callout .grid-callout__content.sc-af-grid-callout{padding-right:40px}.grid-callout--no-image.sc-af-grid-callout{flex-direction:column}.grid-callout--no-image.sc-af-grid-callout .grid-callout__content.sc-af-grid-callout{padding:0}.grid-callout__heading.sc-af-grid-callout{max-width:840px}.grid-callout__items.sc-af-grid-callout{display:grid;gap:40px;width:100%}.grid-callout__items--cols-2.sc-af-grid-callout{grid-template-columns:repeat(2, 1fr)}.grid-callout__items--cols-3.sc-af-grid-callout{grid-template-columns:repeat(3, 1fr)}.grid-callout__items--cols-4.sc-af-grid-callout{grid-template-columns:repeat(4, 1fr)}.grid-callout__cta.sc-af-grid-callout{display:flex;gap:12px;flex-wrap:wrap}.grid-callout__cta.sc-af-grid-callout:empty{display:none}@media (max-width: 1024px){.grid-callout.sc-af-grid-callout{gap:32px}.grid-callout__image-container.sc-af-grid-callout{width:40%}.grid-callout__content.sc-af-grid-callout{gap:40px}.grid-callout__items--cols-3.sc-af-grid-callout,.grid-callout__items--cols-4.sc-af-grid-callout{grid-template-columns:repeat(2, 1fr)}.grid-callout__items.sc-af-grid-callout{gap:32px}}@media (max-width: 768px){.grid-callout.sc-af-grid-callout{flex-direction:column;gap:32px}.grid-callout__image-container.sc-af-grid-callout{width:calc(100% + 2 * var(--container-padding, 20px));min-height:280px;margin-left:calc(-1 * var(--container-padding, 20px));margin-right:calc(-1 * var(--container-padding, 20px));border-radius:0}.grid-callout--image-left.sc-af-grid-callout .grid-callout__image-container.sc-af-grid-callout,.grid-callout--image-right.sc-af-grid-callout .grid-callout__image-container.sc-af-grid-callout{border-radius:0;margin-left:calc(-1 * var(--container-padding, 20px));margin-right:calc(-1 * var(--container-padding, 20px))}.grid-callout__content.sc-af-grid-callout{padding:0;gap:32px}.grid-callout--image-left.sc-af-grid-callout .grid-callout__content.sc-af-grid-callout,.grid-callout--image-right.sc-af-grid-callout .grid-callout__content.sc-af-grid-callout{padding-left:0;padding-right:0}.grid-callout__items.sc-af-grid-callout{grid-template-columns:1fr;gap:32px}.grid-callout__items--cols-2.sc-af-grid-callout,.grid-callout__items--cols-3.sc-af-grid-callout,.grid-callout__items--cols-4.sc-af-grid-callout{grid-template-columns:1fr}}";
4
4
 
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h, H as Host } from './index-C4WBekD2.js';
1
+ import { r as registerInstance, h, H as Host } from './index-CYq0zyKH.js';
2
2
 
3
3
  const afGridCss = ":host{display:block;box-sizing:border-box}:host([hidden]){display:none}.grid{display:grid;grid-template-columns:repeat(var(--grid-columns), 1fr);gap:var(--grid-gap);align-items:var(--grid-align)}@media (max-width: 1024px){.grid{grid-template-columns:repeat(var(--grid-columns-lg), 1fr)}}@media (max-width: 768px){.grid{grid-template-columns:repeat(var(--grid-columns-md), 1fr)}}@media (max-width: 480px){.grid{grid-template-columns:repeat(var(--grid-columns-sm), 1fr)}}";
4
4
 
@@ -26,14 +26,14 @@ const AfGrid = class {
26
26
  end: 'end',
27
27
  stretch: 'stretch',
28
28
  };
29
- return (h(Host, { key: '440c50dbd3a572f292b6a5b4b31845a70b5871bf', style: {
29
+ return (h(Host, { key: 'bb11b9a7bd4d800f5466f199789ca36ca699e82d', style: {
30
30
  '--grid-columns': String(this.columns),
31
31
  '--grid-columns-lg': String(this.columnsLg ?? this.columns),
32
32
  '--grid-columns-md': String(this.columnsMd ?? this.columnsLg ?? this.columns),
33
33
  '--grid-columns-sm': String(this.columnsSm ?? this.columnsMd ?? this.columnsLg ?? 1),
34
34
  '--grid-gap': `var(--space-${this.gap})`,
35
35
  '--grid-align': alignMap[this.align],
36
- } }, h("div", { key: '76ddac9b00743e64fa4e49e9fa80d02088dc858c', class: "grid" }, h("slot", { key: 'ac6ce8acf4e1ca3acabff3176b06a57eee265b72' }))));
36
+ } }, h("div", { key: '02d1c73218c856deee3915f5c1c61c6e01380fe3', class: "grid" }, h("slot", { key: 'c4d54340438da4c9bc0f865e1e62c206b1cc4e3f' }))));
37
37
  }
38
38
  };
39
39
  AfGrid.style = afGridCss;
@@ -1 +1 @@
1
- {"version":3,"file":"af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.js","sources":["src/components/af-heading/af-heading.css?tag=af-heading&encapsulation=shadow","src/components/af-heading/af-heading.tsx","src/components/af-text/af-text.css?tag=af-text&encapsulation=shadow","src/components/af-text/af-text.tsx","src/components/af-nav-item/af-nav-item.css?tag=af-nav-item&encapsulation=scoped","src/components/af-nav-item/af-nav-item.tsx","src/components/af-navbar/af-navbar.css?tag=af-navbar&encapsulation=scoped","src/components/af-navbar/af-navbar.tsx","src/components/af-logo/af-logo.css?tag=af-logo&encapsulation=shadow","src/components/af-logo/af-logo.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.heading {\n margin: 0;\n padding: 0;\n font-family: var(--typography-headingfont, 'NeuSans', Arial, sans-serif);\n font-weight: var(--font-weight-regular, 400);\n /* Inherit color from theme context via CSS custom property */\n color: var(--af-typography-heading-primary, var(--colour-brand-inkwell, #14343b));\n letter-spacing: var(--letter-spacing-heading, -0.02em);\n}\n\n/* Alignment - inherits from --af-text-align if set, otherwise uses explicit align prop */\n.align-inherit {\n text-align: var(--af-text-align, left);\n}\n\n.align-left {\n text-align: left;\n}\n\n.align-center {\n text-align: center;\n}\n\n.align-right {\n text-align: right;\n}\n\n/*\n * Fluid typography: font-size scales continuously with viewport width between\n * the mobile size (anchored at 375px viewport) and the desktop size\n * (anchored at 1280px viewport) using clamp().\n *\n * Formula: clamp(mobilePx, Avw + Bpx, desktopPx)\n * A = (desktop - mobile) / (1280 - 375) * 100 (vw slope)\n * B = mobile - A/100 * 375 (px intercept)\n *\n * Each level exposes a --font-size-heading-{level}-fluid custom property so\n * consumers can still override the resulting size without defeating clamp().\n */\n\n/* Heading XL */\n.level-xl {\n font-size: var(--font-size-heading-xl-fluid, clamp(50px, 3.31vw + 37.57px, 80px));\n line-height: var(--line-height-heading-tight, 1);\n}\n\n/* Heading 1 */\n.level-1 {\n font-size: var(--font-size-heading-1-fluid, clamp(38px, 1.99vw + 30.54px, 56px));\n line-height: var(--line-height-heading-tight, 1);\n}\n\n/* Heading 2 */\n.level-2 {\n font-size: var(--font-size-heading-2-fluid, clamp(32px, 1.33vw + 27.03px, 44px));\n line-height: var(--line-height-heading-tight, 1);\n}\n\n/* Heading 3 */\n.level-3 {\n font-size: var(--font-size-heading-3-fluid, clamp(25px, 0.99vw + 21.27px, 34px));\n line-height: var(--line-height-heading-tight, 1);\n}\n\n/* Heading 4 */\n.level-4 {\n font-size: var(--font-size-heading-4-fluid, clamp(20px, 0.44vw + 18.34px, 24px));\n line-height: var(--line-height-heading-normal, 1.1);\n}\n\n@media (min-width: 768px) {\n .level-4 {\n line-height: var(--line-height-heading-relaxed, 1.2);\n }\n}\n\n/* Heading 5 */\n.level-5 {\n font-size: var(--font-size-heading-5-fluid, clamp(18px, 0.22vw + 17.17px, 20px));\n line-height: var(--line-height-heading-normal, 1.1);\n}\n\n@media (min-width: 768px) {\n .level-5 {\n line-height: var(--line-height-heading-relaxed, 1.2);\n }\n}\n","import { Component, h, Prop } from '@stencil/core';\n\n/**\n * Heading component that inherits color from theme context.\n * Color is determined by the parent theme (af-section, af-card, etc.)\n * via CSS custom properties.\n */\n@Component({\n tag: 'af-heading',\n styleUrl: 'af-heading.css',\n shadow: true\n})\nexport class AfHeading {\n /** Heading level */\n @Prop() level: 'xl' | '1' | '2' | '3' | '4' | '5' = '1';\n\n /** Visual alignment. Defaults to 'inherit' which reads from parent context (e.g. AfTypographyLockup) */\n @Prop() align: 'inherit' | 'left' | 'center' | 'right' = 'inherit';\n\n private getHeadingTag() {\n // Map display levels to semantic HTML tags\n const tagMap: Record<string, string> = {\n 'xl': 'h1',\n '1': 'h1',\n '2': 'h2',\n '3': 'h3',\n '4': 'h4',\n '5': 'h5'\n };\n return tagMap[this.level] || 'h1';\n }\n\n render() {\n const Tag = this.getHeadingTag() as any;\n\n return (\n <Tag\n class={{\n 'heading': true,\n [`level-${this.level}`]: true,\n [`align-${this.align}`]: true\n }}\n part=\"base\"\n >\n <slot />\n </Tag>\n );\n }\n}\n",":host {\n display: block;\n}\n\n.text {\n margin: 0;\n padding: 0;\n font-family: var(--typography-bodyfont, 'NeuSans', Arial, sans-serif);\n font-weight: var(--font-weight-regular, 400);\n /* Inherit color from theme context via CSS custom property */\n color: var(--af-typography-body-default, var(--colour-inkwell-400, #2b484f));\n letter-spacing: var(--letter-spacing-body, 0);\n /* Inherit alignment from parent context (e.g. typography lockup), default to left */\n text-align: var(--af-text-align, left);\n}\n\n/* Alignment */\n.align-left {\n text-align: left;\n}\n\n.align-center {\n text-align: center;\n}\n\n.align-right {\n text-align: right;\n}\n\n/* Body variants */\n.variant-xlarge {\n font-size: var(--font-size-body-xlarge, 22px);\n line-height: var(--line-height-body-xlarge, 28px);\n}\n\n.variant-large {\n font-size: var(--font-size-body-large, 18px);\n line-height: var(--line-height-body-large, 26px);\n}\n\n.variant-medium {\n font-size: var(--font-size-body-medium, 16px);\n line-height: var(--line-height-body-medium, 24px);\n}\n\n.variant-small {\n font-size: var(--font-size-body-small, 14px);\n line-height: var(--line-height-body-small, 20px);\n}\n","import { Component, h, Prop } from '@stencil/core';\n\n/**\n * Text/body component that inherits color from theme context.\n * Color is determined by the parent theme (af-section, af-card, etc.)\n * via CSS custom properties.\n */\n@Component({\n tag: 'af-text',\n styleUrl: 'af-text.css',\n shadow: true\n})\nexport class AfText {\n /** Text variant */\n @Prop() variant: 'xlarge' | 'large' | 'medium' | 'small' = 'medium';\n\n /** Visual alignment. When not set, inherits from parent context (e.g. typography lockup). */\n @Prop() align?: 'left' | 'center' | 'right';\n\n /** Semantic element to render */\n @Prop() as: 'p' | 'span' | 'div' | 'label' = 'p';\n\n render() {\n const Tag = this.as as any;\n\n return (\n <Tag\n class={{\n 'text': true,\n [`variant-${this.variant}`]: true,\n [`align-${this.align}`]: !!this.align\n }}\n part=\"base\"\n >\n <slot />\n </Tag>\n );\n }\n}\n",":host {\n display: inline-block;\n}\n\n/* Mobile breakpoint - full width block display */\n:host([breakpoint=\"mobile\"]) {\n display: block;\n width: 100%;\n}\n\n.nav-link {\n text-decoration: none;\n color: inherit;\n display: block;\n}\n\n.nav-item {\n display: flex;\n align-items: center;\n gap: 8px;\n box-sizing: border-box;\n cursor: pointer;\n}\n\n/* Primary hierarchy - bold main navigation */\n.hierarchy-primary {\n padding: 12px;\n justify-content: center;\n}\n\n.hierarchy-primary .label-container {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 24px;\n gap: 10px;\n}\n\n/* Primary variant 01 - darker */\n.hierarchy-primary.variant-01 {\n font-family: var(--typography-headingfont, 'NeuSans', 'Inter', system-ui, sans-serif);\n font-size: 16px;\n font-weight: var(--font-weight-book, 500);\n line-height: 20px;\n color: var(--af-nav-item-primary, var(--af-typography-body-dark, #14343b));\n}\n\n/* Add transparent border to prevent layout shift on hover */\n.hierarchy-primary.variant-01 .label-container {\n border-bottom: 1px solid transparent;\n}\n\n/* Primary variant 02 - lighter for light backgrounds */\n.hierarchy-primary.variant-02 {\n font-family: var(--typography-bodyfont, 'Helvetica', 'Inter', system-ui, sans-serif);\n font-size: 16px;\n font-weight: var(--font-weight-regular, 400);\n line-height: 20px;\n color: var(--af-nav-item-secondary, var(--af-typography-body-default, #2b484f));\n}\n\n/* Hover state for primary variant-01 - show underline */\n.hierarchy-primary.variant-01:hover .label-container {\n border-bottom-color: currentColor;\n}\n\n/* Active state for primary variant-01 - thicker border */\n.hierarchy-primary.variant-01.active .label-container {\n border-bottom: 2px solid var(--af-nav-border-active, var(--af-background-border-active, #8a7049));\n /* Adjust margin to prevent shift from 1px to 2px border */\n margin-bottom: -1px;\n}\n\n/* Hover and active states for variant-02 (light backgrounds) - no border */\n.hierarchy-primary.variant-02:hover {\n background-color: rgba(20, 52, 59, 0.04);\n border-radius: 8px;\n}\n\n.hierarchy-primary.variant-02.active {\n background-color: rgba(20, 52, 59, 0.08);\n border-radius: 8px;\n}\n\n/* Secondary hierarchy - smaller sub-navigation */\n.hierarchy-secondary {\n padding: 4px 0;\n}\n\n.hierarchy-secondary .label-container {\n display: flex;\n align-items: center;\n flex: 1;\n min-height: 24px;\n gap: 10px;\n}\n\n/* Secondary variant 01 - medium weight */\n.hierarchy-secondary.variant-01 {\n font-family: var(--typography-headingfont, 'NeuSans', 'Inter', system-ui, sans-serif);\n font-size: 14px;\n font-weight: 500;\n line-height: 20px;\n color: var(--af-nav-item-primary, var(--af-typography-body-dark, #14343b));\n}\n\n/* Secondary variant 02 - regular weight */\n.hierarchy-secondary.variant-02 {\n font-family: var(--typography-bodyfont, 'NeuSans', 'Inter', system-ui, sans-serif);\n font-size: 14px;\n font-weight: 400;\n line-height: 20px;\n color: var(--af-nav-item-secondary, var(--af-typography-body-default, #2b484f));\n}\n\n/* Hover state for secondary - underline text */\n.hierarchy-secondary:hover .label-container {\n text-decoration: underline;\n}\n\n/* Focus states for accessibility */\n.nav-item:focus-within {\n outline: 2px solid var(--af-nav-border-active, var(--af-background-border-active, #8a7049));\n outline-offset: 2px;\n border-radius: 4px;\n}\n\n/* Remove default focus outline on link */\n.nav-link:focus {\n outline: none;\n}\n\n.nav-link:focus-visible + .nav-item,\n:host(:focus-visible) .nav-item {\n outline: 2px solid var(--af-nav-border-active, var(--af-background-border-active, #8a7049));\n outline-offset: 2px;\n border-radius: 4px;\n}\n\n/* Mobile breakpoint styles - explicit via prop */\n.hierarchy-primary.breakpoint-mobile {\n padding: 20px 12px;\n border-bottom: 1px solid var(--af-nav-border-subtle, var(--af-background-border-subtle, #e8eeed));\n width: 100%;\n justify-content: flex-start;\n}\n\n.hierarchy-primary.breakpoint-mobile .label-container {\n flex: 1;\n justify-content: flex-start;\n}\n\n.hierarchy-primary.variant-01.breakpoint-mobile {\n font-size: 20px;\n line-height: 1.1;\n letter-spacing: -0.4px;\n}\n\n.hierarchy-primary.variant-02.breakpoint-mobile {\n font-size: 20px;\n line-height: 1.1;\n letter-spacing: -0.4px;\n color: var(--af-nav-item-subtle, var(--af-typography-body-subtle, #60767b));\n}\n\n/* Mobile breakpoint for secondary hierarchy */\n.hierarchy-secondary.breakpoint-mobile {\n padding: 2px 0;\n height: 40px;\n}\n\n.hierarchy-secondary.breakpoint-mobile .label-container {\n min-height: 24px;\n}\n\n/* Mobile removes the hover underline effect */\n.hierarchy-primary.breakpoint-mobile.variant-01 .label-container {\n border-bottom-color: transparent;\n}\n\n.hierarchy-primary.breakpoint-mobile.variant-01:hover .label-container {\n border-bottom-color: transparent;\n}\n\n.hierarchy-primary.breakpoint-mobile.variant-01.active .label-container {\n border-bottom-color: transparent;\n margin-bottom: 0;\n}\n\n/* Icon sizing and styling */\n::slotted([slot=\"icon-left\"]),\n::slotted([slot=\"icon-right\"]) {\n width: 24px;\n height: 24px;\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: transform 0.2s ease;\n}\n\n/* Icon color inheritance for primary hierarchy */\n.hierarchy-primary.variant-01 ::slotted([slot=\"icon-left\"]),\n.hierarchy-primary.variant-01 ::slotted([slot=\"icon-right\"]) {\n color: var(--af-nav-item-primary, var(--af-typography-body-dark, #14343b));\n}\n\n.hierarchy-primary.variant-02 ::slotted([slot=\"icon-left\"]),\n.hierarchy-primary.variant-02 ::slotted([slot=\"icon-right\"]) {\n color: var(--af-nav-item-secondary, var(--af-typography-body-default, #2b484f));\n}\n\n/* Icon rotation on active for mobile primary with dropdown indicator.\n Desktop chevrons stay static — rotating on hover/active felt fidgety\n and the open/closed state is already clear from the dropdown panel. */\n.hierarchy-primary.breakpoint-mobile.active ::slotted([slot=\"icon-right\"]) {\n transform: rotate(180deg);\n}\n\n/* Secondary hierarchy - smaller icons */\n.hierarchy-secondary ::slotted([slot=\"icon-right\"]) {\n width: 20px;\n height: 20px;\n}\n\n/* Icon color inheritance for secondary hierarchy */\n.hierarchy-secondary.variant-01 ::slotted([slot=\"icon-right\"]) {\n color: var(--af-nav-item-primary, var(--af-typography-body-dark, #14343b));\n}\n\n.hierarchy-secondary.variant-02 ::slotted([slot=\"icon-right\"]) {\n color: var(--af-nav-item-secondary, var(--af-typography-body-default, #2b484f));\n}\n\n/* Fallback media query for when breakpoint prop is not set */\n/* ≤ tablet */\n@media (max-width: 1023px) {\n :host([breakpoint=\"auto\"]) .hierarchy-primary,\n :host(:not([breakpoint])) .hierarchy-primary {\n padding: 20px 12px;\n border-bottom: 1px solid var(--af-nav-border-subtle, var(--af-background-border-subtle, #e8eeed));\n width: 100%;\n }\n\n :host([breakpoint=\"auto\"]) .hierarchy-primary .label-container,\n :host(:not([breakpoint])) .hierarchy-primary .label-container {\n flex: 1;\n justify-content: flex-start;\n }\n\n :host([breakpoint=\"auto\"]) .hierarchy-primary.variant-01,\n :host(:not([breakpoint])) .hierarchy-primary.variant-01 {\n font-size: 20px;\n line-height: 1.1;\n letter-spacing: -0.4px;\n }\n\n :host([breakpoint=\"auto\"]) .hierarchy-primary.variant-02,\n :host(:not([breakpoint])) .hierarchy-primary.variant-02 {\n font-size: 20px;\n line-height: 1.1;\n letter-spacing: -0.4px;\n color: var(--af-nav-item-subtle, var(--af-typography-body-subtle, #60767b));\n }\n\n /* Icon rotation on active for auto/responsive breakpoint */\n :host([breakpoint=\"auto\"]) .hierarchy-primary.active ::slotted([slot=\"icon-right\"]),\n :host(:not([breakpoint])) .hierarchy-primary.active ::slotted([slot=\"icon-right\"]) {\n transform: rotate(180deg);\n }\n\n /* Disable desktop hover rotation in mobile view */\n :host([breakpoint=\"auto\"]) .hierarchy-primary:hover ::slotted([slot=\"icon-right\"]),\n :host(:not([breakpoint])) .hierarchy-primary:hover ::slotted([slot=\"icon-right\"]) {\n transform: none;\n }\n\n :host([breakpoint=\"auto\"]) .hierarchy-primary.active:hover ::slotted([slot=\"icon-right\"]),\n :host(:not([breakpoint])) .hierarchy-primary.active:hover ::slotted([slot=\"icon-right\"]) {\n transform: rotate(180deg);\n }\n}\n","import { Component, Element, h, Prop, Host } from '@stencil/core';\n\n/**\n * A generic navigation item component that can be used in navigation bars, menus, and sidebars.\n * Supports multiple hierarchy levels, variants, and states (active, hover).\n *\n * **Dropdown trigger a11y:** when the host carries a `data-dropdown=\"id\"`\n * attribute and has no `href`, the inner wrapper is promoted to\n * `role=\"button\"` with `tabindex=\"0\"` and keyboard activation (Enter/Space),\n * so keyboard users can open the matching dropdown panel just like a\n * pointer click. The companion `af-navbar` keeps `aria-expanded` on the\n * host in sync with the active dropdown.\n */\n@Component({\n tag: 'af-nav-item',\n styleUrl: 'af-nav-item.css',\n shadow: false,\n scoped: true,\n})\nexport class AfNavItem {\n @Element() el!: HTMLElement;\n\n /**\n * Visual hierarchy level of the navigation item\n * - 'primary': Bold, main navigation (larger text, prominent styling)\n * - 'secondary': Lighter, sub-navigation (smaller text, subtle styling)\n */\n @Prop() hierarchy: 'primary' | 'secondary' = 'primary';\n\n /**\n * Visual variant within the hierarchy level\n * - '01': Darker/more prominent styling\n * - '02': Lighter/more subtle styling\n */\n @Prop() variant: '01' | '02' = '01';\n\n /**\n * Breakpoint variant for responsive styling\n * - 'desktop': Desktop-specific styles\n * - 'mobile': Mobile-specific styles (larger text, different spacing)\n */\n @Prop({ reflect: true }) breakpoint: 'desktop' | 'mobile' = 'desktop';\n\n /**\n * URL to navigate to when clicked\n */\n @Prop() href?: string;\n\n /**\n * Whether this nav item is currently active/selected\n */\n @Prop() active: boolean = false;\n\n /**\n * Promote Enter and Space on a focused trigger into a synthetic click\n * so the surrounding af-navbar (which listens on click) treats the\n * keyboard activation identically to a pointer click.\n */\n private handleTriggerKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Enter' || event.key === ' ' || event.key === 'Spacebar') {\n event.preventDefault();\n this.el.click();\n }\n };\n\n render() {\n const classes = {\n 'nav-item': true,\n [`hierarchy-${this.hierarchy}`]: true,\n [`variant-${this.variant}`]: true,\n [`breakpoint-${this.breakpoint}`]: true,\n 'active': this.active,\n };\n\n const innerContent = [\n <slot name=\"icon-left\"></slot>,\n <div class=\"label-container\">\n <slot></slot>\n </div>,\n <slot name=\"icon-right\"></slot>,\n ];\n\n if (this.href) {\n return (\n <Host>\n <a href={this.href} class=\"nav-link\">\n <div class={classes}>{innerContent}</div>\n </a>\n </Host>\n );\n }\n\n const isDropdownTrigger = this.el.hasAttribute('data-dropdown');\n if (isDropdownTrigger) {\n return (\n <Host>\n <div\n class={classes}\n role=\"button\"\n tabindex={0}\n aria-haspopup=\"menu\"\n onKeyDown={this.handleTriggerKeyDown}\n >\n {innerContent}\n </div>\n </Host>\n );\n }\n\n return <Host>{<div class={classes}>{innerContent}</div>}</Host>;\n }\n}\n",":host {\n display: block;\n width: 100%;\n}\n\n/* Spacer element that sits in normal document flow to prevent content overlap */\n.navbar-spacer {\n height: 100px; /* Accounts for navbar height + top margin */\n}\n\n/* Theme variants for spacer background - matches section themes */\n.navbar-spacer.theme-white {\n background-color: var(--colour-brand-white, #FFFFFF);\n}\n\n.navbar-spacer.theme-inkwell {\n background-color: var(--colour-brand-inkwell, #14343B);\n}\n\n.navbar-spacer.theme-mist-green {\n background-color: var(--colour-brand-mist-green, #C6D5D1);\n}\n\n.navbar-spacer.theme-soft-clay {\n background-color: var(--colour-softclay-400, #c0ab8d);\n}\n\n/* Sticky navbar that floats above the spacer */\n.navbar-container {\n position: fixed;\n /* Add safe-area-inset-top so the pill drops below the iOS notch / status bar\n when the page uses viewport-fit=cover. Falls back to the original 32px. */\n top: max(32px, env(safe-area-inset-top));\n left: 0;\n right: 0;\n z-index: 10;\n /* Horizontal padding honours safe-area-inset-left/right for landscape on\n notched devices; the inset is added on top of the existing 80px gutter. */\n padding: 0 calc(80px + env(safe-area-inset-right)) 0 calc(80px + env(safe-area-inset-left));\n box-sizing: border-box;\n}\n\n.navbar {\n background: var(--colour-background-white, #ffffff);\n border-radius: 9999px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 8px 8px 40px;\n box-sizing: border-box;\n flex-wrap: nowrap; /* Prevent wrapping */\n}\n\n/* Left section */\n.navbar-left {\n display: flex;\n align-items: center;\n gap: 32px;\n flex-shrink: 0;\n}\n\n.logo {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n}\n\n/* Mobile menu toggle button */\n.mobile-menu-toggle {\n display: none;\n background: none;\n border: none;\n padding: 8px;\n cursor: pointer;\n color: var(--colour-brand-inkwell, #14343b);\n margin-left: auto;\n}\n\n.mobile-menu-toggle svg {\n display: block;\n}\n\n.nav-links {\n display: flex;\n align-items: center;\n gap: 8px;\n flex-wrap: nowrap;\n}\n\n/* Right section */\n.navbar-right {\n display: flex;\n align-items: center;\n gap: 20px;\n}\n\n.nav-actions {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.nav-button {\n display: flex;\n align-items: center;\n}\n\n/* Dropdown container. The container's top is raised 8px into what\n was previously a blank gap between the nav pill and the panel, and\n that 8px is absorbed as container top-padding — so the visible panel\n stays put, but the hoverable region is now continuous between the\n nav pill and the dropdown. Without this, the mouse crosses an\n un-hovered strip on its way from trigger to panel and the navbar's\n mouseleave handler fires a close. */\n.dropdown-container {\n position: absolute;\n top: 100px;\n left: 0;\n right: 0;\n padding: 8px 80px 0;\n pointer-events: none;\n opacity: 0;\n transform: translateY(-8px);\n transition: opacity 0.2s ease, transform 0.2s ease;\n}\n\n.dropdown-container.is-open {\n pointer-events: auto;\n opacity: 1;\n transform: translateY(0);\n}\n\n.dropdown-panel {\n background: var(--colour-background-base, #ffffff);\n border-radius: 32px;\n overflow: hidden;\n /* shadow-navbar replaces the hand-rolled `0 4px 24px rgba(20, 52, 59, 0.12)`;\n * same value, now sourced from the token ladder so the marketing site can\n * retire its matching bespoke rule. */\n box-shadow: var(--shadow-navbar, 0 4px 24px rgba(20, 52, 59, 0.12));\n}\n\n/* Hide empty dropdown slots */\n.dropdown-panel:empty {\n display: none;\n}\n\n/* Mobile menu panel - separate from navbar for proper positioning */\n.mobile-menu-panel {\n display: none;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: var(--colour-background-base, #ffffff);\n z-index: 9;\n /* Full-viewport drawer: pad the top below the notch, the bottom above the\n home indicator, and the sides away from landscape edge cutouts. */\n padding:\n max(100px, calc(100px + env(safe-area-inset-top)))\n calc(16px + env(safe-area-inset-right))\n max(24px, env(safe-area-inset-bottom))\n calc(16px + env(safe-area-inset-left));\n overflow-y: auto;\n opacity: 0;\n pointer-events: none;\n transition: opacity 0.2s ease;\n}\n\n.mobile-menu-panel.is-open {\n display: block;\n opacity: 1;\n pointer-events: auto;\n}\n\n/* Mobile CTA button container */\n.mobile-button-container {\n margin-bottom: 8px;\n}\n\n.mobile-button-container ::slotted(*) {\n width: 100%;\n}\n\n/* Mobile menu content - flex column ensures items stack vertically */\n.mobile-menu-content {\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n\n/* Force slotted items to take full width for composability */\n.mobile-menu-content ::slotted(*) {\n flex: 0 0 auto;\n width: 100%;\n}\n\n/* \n * Breakpoint 1: Hide \"Talk to us\" and \"Log in\" (nav-actions) \n * This happens first as the viewport gets narrower\n * Matches affinda.com behavior at ~1100px\n */\n@media (max-width: 1099px) {\n .nav-actions {\n display: none;\n }\n \n .navbar-right {\n gap: 0;\n }\n}\n\n/* Tablet adjustments */\n@media (max-width: 1024px) {\n .navbar-spacer {\n height: 88px;\n }\n\n .navbar-container {\n top: max(24px, env(safe-area-inset-top));\n padding: 0 calc(40px + env(safe-area-inset-right)) 0 calc(40px + env(safe-area-inset-left));\n }\n\n .navbar-left {\n gap: 24px;\n }\n\n .nav-links {\n gap: 4px;\n }\n\n .dropdown-container {\n padding: 0 40px;\n }\n}\n\n/* \n * Breakpoint 2: Switch to hamburger menu\n * Matches affinda.com behavior at 991px\n */\n@media (max-width: 991px) {\n .navbar-spacer {\n height: 72px;\n }\n\n .navbar-container {\n top: max(16px, env(safe-area-inset-top));\n padding: 0 calc(16px + env(safe-area-inset-right)) 0 calc(16px + env(safe-area-inset-left));\n z-index: 11; /* Above mobile menu panel */\n }\n\n .navbar {\n padding: 8px 8px 8px 24px; /* Figma: 8px padding right, 24px left on mobile */\n flex-direction: row;\n border-radius: 9999px; /* Keep pill shape on mobile */\n gap: 0;\n }\n\n .navbar-left {\n width: auto;\n flex-direction: row;\n justify-content: flex-start;\n align-items: center;\n gap: 16px;\n flex: 1;\n }\n\n /* Show hamburger button on mobile */\n .mobile-menu-toggle {\n display: flex;\n padding: 12px;\n margin-left: auto;\n border-radius: 9999px;\n border: 1px solid var(--colour-brand-inkwell, #14343b);\n }\n\n .mobile-menu-toggle:hover {\n background: rgba(20, 52, 59, 0.05);\n }\n\n /* Hide nav links on mobile - they're in the mobile menu panel */\n .nav-links {\n display: none;\n }\n\n /* Hide right section on mobile - button is in mobile menu panel */\n .navbar-right {\n display: none;\n }\n\n /* Hide desktop dropdown on mobile */\n .dropdown-container {\n display: none;\n }\n\n /* Mobile menu panel adjustments */\n .mobile-menu-panel {\n padding-top: max(88px, calc(88px + env(safe-area-inset-top))); /* Accounts for navbar height + notch */\n }\n\n .mobile-button-container {\n padding: 0 12px;\n margin-bottom: 8px;\n }\n\n .mobile-button-container ::slotted(af-button),\n .mobile-button-container ::slotted(button) {\n width: 100%;\n display: flex;\n justify-content: center;\n }\n}\n\n/* ==========================================================================\n Force Mobile Mode\n Apply mobile styles regardless of viewport when force-mobile attribute is set\n ========================================================================== */\n\n:host([force-mobile]) .navbar-spacer {\n height: 72px;\n}\n\n:host([force-mobile]) .navbar-container {\n top: max(16px, env(safe-area-inset-top));\n padding: 0 calc(16px + env(safe-area-inset-right)) 0 calc(16px + env(safe-area-inset-left));\n z-index: 11;\n}\n\n:host([force-mobile]) .navbar {\n padding: 8px 8px 8px 24px;\n flex-direction: row;\n border-radius: 9999px;\n gap: 0;\n}\n\n:host([force-mobile]) .navbar-left {\n width: auto;\n flex-direction: row;\n justify-content: flex-start;\n align-items: center;\n gap: 16px;\n flex: 1;\n}\n\n:host([force-mobile]) .mobile-menu-toggle {\n display: flex;\n padding: 12px;\n margin-left: auto;\n border-radius: 9999px;\n border: 1px solid var(--colour-brand-inkwell, #14343b);\n}\n\n:host([force-mobile]) .mobile-menu-toggle:hover {\n background: rgba(20, 52, 59, 0.05);\n}\n\n:host([force-mobile]) .nav-links {\n display: none;\n}\n\n:host([force-mobile]) .navbar-right {\n display: none;\n}\n\n:host([force-mobile]) .nav-actions {\n display: none;\n}\n\n:host([force-mobile]) .dropdown-container {\n display: none;\n}\n\n:host([force-mobile]) .mobile-menu-panel {\n padding-top: max(88px, calc(88px + env(safe-area-inset-top)));\n}\n\n:host([force-mobile]) .mobile-menu-panel.is-open {\n display: block;\n opacity: 1;\n pointer-events: auto;\n}\n\n:host([force-mobile]) .mobile-button-container {\n padding: 0 12px;\n margin-bottom: 8px;\n}\n\n:host([force-mobile]) .mobile-button-container ::slotted(af-button),\n:host([force-mobile]) .mobile-button-container ::slotted(button) {\n width: 100%;\n display: flex;\n justify-content: center;\n}\n\n/* Force mobile: flex column ensures items stack vertically */\n:host([force-mobile]) .mobile-menu-content {\n display: flex;\n flex-direction: column;\n}\n\n/* Force mobile: slotted items take full width for composability */\n:host([force-mobile]) .mobile-menu-content ::slotted(*) {\n flex: 0 0 auto;\n width: 100%;\n}\n","import { Component, State, h, Host, Prop, Element, Listen } from '@stencil/core';\nimport type { Theme } from '../../types';\n\n/**\n * A full-width navigation bar component that provides the main site navigation.\n * Features a pill-shaped container with logo, navigation links, and action buttons.\n * Includes mobile hamburger menu and support for mega-menu dropdowns.\n * \n * The logo slot can be used to provide a custom logo. If no logo is provided,\n * the default Affinda logo will be displayed.\n * \n * **Slots:**\n * - `logo` - Logo area (defaults to Affinda logo if empty)\n * - `start` - Primary navigation links (left side, desktop)\n * - `end` - Secondary/utility links (right side)\n * - `button` - Call-to-action button\n * - `dropdowns` - One or more dropdown panels, each a `<div data-for=\"id\">`\n * where `id` matches the `data-dropdown=\"id\"` attribute on the trigger.\n * Clicking a trigger toggles the matching panel; only one is visible at\n * a time.\n * - `mobile-menu` - Mobile menu content (use af-nav-accordion for accordion menus)\n * - `mobile-button` - CTA button for mobile menu (appears at top)\n */\n@Component({\n tag: 'af-navbar',\n styleUrl: 'af-navbar.css',\n shadow: false,\n scoped: true,\n})\nexport class AfNavbar {\n @Element() el!: HTMLElement;\n\n @State() mobileMenuOpen: boolean = false;\n \n /** The currently open dropdown identifier (null if none open) */\n @State() activeDropdown: string | null = null;\n\n /** Whether to show the default Affinda logo when no logo slot content is provided */\n @Prop() showDefaultLogo: boolean = true;\n\n /** Theme for the spacer background - should match the section below the navbar */\n @Prop() theme?: Theme;\n\n /** Force mobile layout regardless of viewport size (useful for testing/stories) */\n @Prop({ reflect: true }) forceMobile: boolean = false;\n\n private toggleMobileMenu = () => {\n this.mobileMenuOpen = !this.mobileMenuOpen;\n // Close any open dropdown when toggling mobile menu\n this.activeDropdown = null;\n };\n\n /**\n * Opens a dropdown by its identifier\n */\n private openDropdown = (dropdownId: string) => {\n this.activeDropdown = dropdownId;\n };\n\n /**\n * Closes the currently open dropdown\n */\n private closeDropdown = () => {\n this.activeDropdown = null;\n };\n\n /**\n * Toggles a dropdown by its identifier\n */\n private toggleDropdown = (dropdownId: string) => {\n if (this.activeDropdown === dropdownId) {\n this.activeDropdown = null;\n } else {\n this.activeDropdown = dropdownId;\n }\n };\n\n /** Timer id used to debounce hover-driven closes. */\n private closeTimer?: number;\n\n /**\n * The trigger element that opened the currently active dropdown. Tracked\n * so an Esc keypress can close the dropdown and restore focus to the\n * trigger, matching WAI-ARIA menu-button guidance.\n */\n private lastActiveTrigger?: HTMLElement;\n\n /**\n * Open the dropdown matching a `[data-dropdown]` trigger on click —\n * acts as a toggle so keyboard/touch users can still dismiss it.\n */\n @Listen('click')\n handleTriggerClick(event: MouseEvent) {\n const target = event.target as HTMLElement | null;\n const trigger = target?.closest?.('[data-dropdown]') as HTMLElement | null;\n if (!trigger || !this.el.contains(trigger)) return;\n const id = trigger.getAttribute('data-dropdown');\n if (!id) return;\n event.preventDefault();\n event.stopPropagation();\n this.cancelScheduledClose();\n this.lastActiveTrigger = trigger;\n this.toggleDropdown(id);\n }\n\n /**\n * Open the dropdown matching a `[data-dropdown]` trigger on hover.\n * Uses mouseover (which bubbles) and checks for the trigger ancestor.\n */\n @Listen('mouseover')\n handleHover(event: MouseEvent) {\n const target = event.target as HTMLElement | null;\n const trigger = target?.closest?.('[data-dropdown]') as HTMLElement | null;\n if (!trigger || !this.el.contains(trigger)) return;\n const id = trigger.getAttribute('data-dropdown');\n if (!id || this.activeDropdown === id) {\n this.cancelScheduledClose();\n return;\n }\n this.cancelScheduledClose();\n this.lastActiveTrigger = trigger;\n this.openDropdown(id);\n }\n\n /**\n * When the pointer leaves the navbar entirely (including any open\n * dropdown panel), schedule a close. Re-entering cancels it.\n */\n @Listen('mouseleave')\n handleHostLeave() {\n this.scheduleClose();\n }\n\n @Listen('mouseenter')\n handleHostEnter() {\n this.cancelScheduledClose();\n }\n\n private scheduleClose() {\n // Short 100ms debounce so the mouse has time to cross any tiny\n // dead-zone between the nav pill, the dropdown panel, and the\n // items inside it without accidentally closing the panel. A\n // re-entering mouseenter on the host cancels the pending close.\n this.cancelScheduledClose();\n this.closeTimer = window.setTimeout(() => {\n this.closeDropdown();\n this.closeTimer = undefined;\n }, 100);\n }\n\n private cancelScheduledClose() {\n if (this.closeTimer !== undefined) {\n clearTimeout(this.closeTimer);\n this.closeTimer = undefined;\n }\n }\n\n /**\n * Handle clicks outside the navbar to close dropdowns\n */\n @Listen('click', { target: 'document' })\n handleDocumentClick(event: MouseEvent) {\n const path = event.composedPath();\n if (!path.includes(this.el)) {\n this.closeDropdown();\n }\n }\n\n /**\n * Keep the visibility of slotted dropdown panels, and the `data-active`\n * flag on their triggers, in sync with the currently active dropdown.\n * Each panel lives in the `dropdowns` slot and carries a `data-for`\n * attribute that matches its trigger's id.\n */\n componentDidLoad() {\n this.syncDropdownState();\n }\n\n componentDidUpdate() {\n this.syncDropdownState();\n }\n\n private syncDropdownState() {\n this.el.querySelectorAll<HTMLElement>('[data-for]').forEach((panel) => {\n if (!this.el.contains(panel)) return;\n panel.hidden = panel.getAttribute('data-for') !== this.activeDropdown;\n });\n this.el.querySelectorAll<HTMLElement>('[data-dropdown]').forEach((trigger) => {\n if (!this.el.contains(trigger)) return;\n const active = trigger.getAttribute('data-dropdown') === this.activeDropdown;\n if (active) trigger.setAttribute('data-active', '');\n else trigger.removeAttribute('data-active');\n trigger.setAttribute('aria-expanded', active ? 'true' : 'false');\n });\n }\n\n /**\n * Handle escape key to close dropdowns. If a dropdown is open, restore\n * focus to the trigger that opened it so keyboard users don't lose\n * their place in the tab order.\n */\n @Listen('keydown', { target: 'document' })\n handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'Escape' && this.activeDropdown !== null) {\n const toFocus = this.lastActiveTrigger;\n this.closeDropdown();\n toFocus?.focus?.();\n }\n }\n\n render() {\n const hasDropdown = this.activeDropdown !== null;\n\n return (\n <Host class={{ 'has-dropdown-open': hasDropdown }}>\n {/* Spacer element to prevent content from being hidden behind sticky navbar */}\n <div class={`navbar-spacer${this.theme ? ` theme-${this.theme}` : ''}`}></div>\n \n <nav class=\"navbar-container\">\n <div class=\"navbar theme-white\">\n {/* Left section: Logo + Nav Links */}\n <div class=\"navbar-left\">\n <div class=\"logo\">\n <slot name=\"logo\">\n {/* Default Affinda logo if no slot content provided */}\n {this.showDefaultLogo && <af-logo></af-logo>}\n </slot>\n </div>\n \n {/* Hamburger menu button - mobile only */}\n <button \n class=\"mobile-menu-toggle\"\n onClick={this.toggleMobileMenu}\n aria-label=\"Toggle navigation menu\"\n aria-expanded={this.mobileMenuOpen ? 'true' : 'false'}\n >\n {this.mobileMenuOpen ? (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\">\n <path d=\"M18 6L6 18M6 6l12 12\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n ) : (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\">\n <path d=\"M3 12h18M3 6h18M3 18h18\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n )}\n </button>\n \n <div class={`nav-links ${this.mobileMenuOpen ? 'mobile-open' : ''}`}>\n <slot name=\"start\"></slot>\n </div>\n </div>\n\n {/* Right section: Actions + Button */}\n <div class={`navbar-right ${this.mobileMenuOpen ? 'mobile-open' : ''}`}>\n <div class=\"nav-actions\">\n <slot name=\"end\"></slot>\n </div>\n <div class=\"nav-button\">\n <slot name=\"button\"></slot>\n </div>\n </div>\n </div>\n\n {/* Dropdown panel container */}\n <div class={`dropdown-container ${hasDropdown ? 'is-open' : ''}`}>\n <div class=\"dropdown-panel theme-white\">\n <slot name=\"dropdowns\"></slot>\n </div>\n </div>\n </nav>\n\n {/* Mobile menu panel */}\n <div class={`mobile-menu-panel theme-white ${this.mobileMenuOpen ? 'is-open' : ''}`}>\n {/* Mobile CTA button at top */}\n <div class=\"mobile-button-container\">\n <slot name=\"mobile-button\">\n <slot name=\"button\"></slot>\n </slot>\n </div>\n \n {/* Mobile navigation content */}\n <div class=\"mobile-menu-content\">\n <slot name=\"mobile-menu\"></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n",":host {\n display: inline-block;\n color: var(--af-background-icon-default, var(--colour-brand-inkwell, #14343b));\n}\n\n.logo-svg {\n display: block;\n /* Maintain aspect ratio based on viewBox (9290:1432 ≈ 6.49:1) */\n width: auto;\n height: 22px;\n}\n","import { Component, h, Host } from '@stencil/core';\n\n/**\n * Affinda logo component\n */\n@Component({\n tag: 'af-logo',\n styleUrl: 'af-logo.css',\n shadow: true\n})\nexport class AfLogo {\n render() {\n return (\n <Host>\n <svg \n class=\"logo-svg\" \n viewBox=\"0 0 9290 1432\" \n aria-label=\"Affinda\"\n role=\"img\"\n >\n <path \n fill=\"currentColor\" \n d=\"M1691.17,452.11c-107.93-107.48-250.13-166.09-401.3-163.79h-739.51l-148.18,237.98h892.96c86.83,0,168.39,33.64,230.09,95.09,63.28,63.04,98.26,147.32,98.26,237.45,0,185.03-149.41,335.36-332.92,335.36H385.66c-82.44,0-149.59-67.64-149.59-150.68s67.32-151.75,149.41-154.23h810.17l152.93-237.98H381.44C171.21,656.62,0,832.45,0,1043.52s172.97,388.48,385.66,388.48h904.91c313.76,0,569.17-257.28,569.17-573.34,0-154.22-59.76-298.53-168.4-406.72l-.17.18Z\"\n />\n <path \n fill=\"currentColor\" \n d=\"M3265.12,353.81c-21.8-16.16-44.47-30.56-68.02-42.85-75.76-39.69-161-59.89-253.45-59.89-159.6,0-297.92,58.13-411.29,172.82-113.02,114.33-170.49,253.96-170.49,415.01s56.77,304.89,168.73,419.58c112.49,115.21,250.29,173.52,409.35,173.52,89.47,0,173.31-18.97,249.06-56.38,26.19-12.99,51.68-28.1,76.11-45.49v89.05h268.39V276.36h-268.39v77.45ZM3232.07,1013.47c-27.24,48.65-65.38,86.24-116.35,114.87-51.85,29.15-105.11,43.38-162.58,43.38s-107.92-14.05-157.31-43.21c-49.57-28.98-87.88-68.85-117.59-121.53-29.88-53.04-44.29-106.79-44.29-164.39s14.41-111.88,43.94-164.21c29.18-51.99,67.32-91.15,116.36-119.6,49.21-28.63,101.41-42.5,159.94-42.5,90.87,0,165.04,30.56,226.73,93.61,62.23,63.4,92.46,140.68,92.46,236.22,0,63.05-13.54,117.67-41.13,167.02l-.18.35Z\"\n />\n <path fill=\"currentColor\" d=\"M5569.92,278.96h-269.66v1143.74h269.66V278.96Z\"/>\n <path \n fill=\"currentColor\" \n d=\"M6504.78,328.74c-68.7-45.4-148.11-68.37-235.78-68.37s-163.57,19.96-235.61,59.36c-21.61,11.84-42.69,25.44-63.07,40.81v-89.22h-270.22v1151.2h270.22v-436.03c0-154.94,8.78-223.14,15.81-252.11,15.64-61.13,47.44-110.95,96.81-152.65,47.96-40.28,100.49-59.89,160.58-59.89,51.13,0,89.96,11.13,118.95,34.28,28.81,22.79,48.14,58.13,59.56,109.18,4.56,18.37,12.12,70.14,12.12,211.83v545.57h270.21v-583.02c0-146.29-15.28-253.17-46.56-326.67-32.67-76.85-84.33-138.69-153.2-184.27h.18Z\"\n />\n <path \n fill=\"currentColor\" \n d=\"M7728.49,355.19c-21.79-16.14-44.46-30.52-68.02-42.8-75.75-39.64-161-59.81-253.45-59.81-159.59,0-297.92,58.06-411.28,172.6-113.02,114.19-170.49,253.63-170.49,414.48s56.77,304.68,168.73,419.04c112.49,115.07,250.29,173.3,409.35,173.3,89.47,0,173.3-18.94,249.06-56.3,26.19-12.98,51.67-28.07,76.1-45.43v90.68h268.39V0h-268.39v355.37-.17ZM7695.45,1014.01c-27.24,48.59-65.38,86.13-116.36,114.72-51.85,29.11-104.93,43.32-162.58,43.32s-107.92-14.03-157.31-43.15c-49.56-28.94-87.88-68.76-117.58-121.38-29.88-52.97-44.29-106.64-44.29-164.18s14.41-111.73,43.94-164c29.17-51.92,67.32-91.03,116.35-119.45,49.22-28.59,101.42-42.45,159.95-42.45,90.87,0,165.04,30.52,226.73,93.49,62.22,63.32,92.45,140.5,92.45,235.92,0,62.97-13.53,117.52-41.12,166.81l-.18.35Z\"\n />\n <path \n fill=\"currentColor\" \n d=\"M9021.01,277.76v76.05c-21.79-16.16-44.47-30.56-68.02-42.85-75.75-39.69-161-59.89-253.45-59.89-159.59,0-297.92,58.13-411.29,172.82-113.01,114.33-170.48,253.96-170.48,415.01s56.77,304.89,168.73,419.58c112.49,115.21,250.28,173.52,409.35,173.52,89.46,0,173.3-18.97,249.06-56.38,26.19-12.99,51.67-28.1,76.1-45.49v89.05h268.39V277.76h-268.39ZM8987.97,1013.47c-27.25,48.65-65.39,86.24-116.36,114.87-51.85,29.15-105.1,43.38-162.58,43.38s-107.92-14.05-157.3-43.21c-49.57-28.98-87.89-68.85-117.59-121.53-29.88-53.04-44.29-106.79-44.29-164.39s14.41-111.88,43.94-164.21c29.17-51.99,67.31-91.15,116.35-119.6,49.22-28.63,101.42-42.5,159.95-42.5,90.87,0,165.04,30.56,226.73,93.61,62.22,63.4,92.45,140.68,92.45,236.22,0,63.05-13.53,117.67-41.13,167.02l-.17.35Z\"\n />\n <path fill=\"currentColor\" d=\"M3927.32,519.82c0-140.11,112.99-241.01,251.96-241.01h302.69V0h-302.69c-284.39,0-515.59,233.28-515.59,519.82v902.88h263.81v-445.28h431.9v-265.98h-431.9v-191.62h-.18Z\"/>\n <path fill=\"currentColor\" d=\"M4745.61,519.82c0-140.11,112.99-241.01,251.95-241.01h302.7V0h-302.7c-284.38,0-515.59,233.28-515.59,519.82v902.88h263.82v-445.28h431.89v-265.98h-431.89v-191.62h-.18Z\"/>\n </svg>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.js","sources":["src/components/af-heading/af-heading.css?tag=af-heading&encapsulation=shadow","src/components/af-heading/af-heading.tsx","src/components/af-text/af-text.css?tag=af-text&encapsulation=shadow","src/components/af-text/af-text.tsx","src/components/af-nav-item/af-nav-item.css?tag=af-nav-item&encapsulation=scoped","src/components/af-nav-item/af-nav-item.tsx","src/components/af-navbar/af-navbar.css?tag=af-navbar&encapsulation=scoped","src/components/af-navbar/af-navbar.tsx","src/components/af-logo/af-logo.css?tag=af-logo&encapsulation=shadow","src/components/af-logo/af-logo.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.heading {\n margin: 0;\n padding: 0;\n font-family: var(--typography-headingfont, 'NeuSans', Arial, sans-serif);\n font-weight: var(--font-weight-regular, 400);\n /* Inherit color from theme context via CSS custom property */\n color: var(--af-typography-heading-primary, var(--colour-brand-inkwell, #14343b));\n letter-spacing: var(--letter-spacing-heading, -0.02em);\n}\n\n/* Alignment - inherits from --af-text-align if set, otherwise uses explicit align prop */\n.align-inherit {\n text-align: var(--af-text-align, left);\n}\n\n.align-left {\n text-align: left;\n}\n\n.align-center {\n text-align: center;\n}\n\n.align-right {\n text-align: right;\n}\n\n/*\n * Fluid typography: font-size scales continuously with viewport width between\n * the mobile size (anchored at 375px viewport) and the desktop size\n * (anchored at 1280px viewport) using clamp().\n *\n * Formula: clamp(mobilePx, Avw + Bpx, desktopPx)\n * A = (desktop - mobile) / (1280 - 375) * 100 (vw slope)\n * B = mobile - A/100 * 375 (px intercept)\n *\n * Each level exposes a --font-size-heading-{level}-fluid custom property so\n * consumers can still override the resulting size without defeating clamp().\n */\n\n/* Heading XL */\n.level-xl {\n font-size: var(--font-size-heading-xl-fluid, clamp(50px, 3.31vw + 37.57px, 80px));\n line-height: var(--line-height-heading-tight, 1);\n}\n\n/* Heading 1 */\n.level-1 {\n font-size: var(--font-size-heading-1-fluid, clamp(38px, 1.99vw + 30.54px, 56px));\n line-height: var(--line-height-heading-tight, 1);\n}\n\n/* Heading 2 */\n.level-2 {\n font-size: var(--font-size-heading-2-fluid, clamp(32px, 1.33vw + 27.03px, 44px));\n line-height: var(--line-height-heading-tight, 1);\n}\n\n/* Heading 3 */\n.level-3 {\n font-size: var(--font-size-heading-3-fluid, clamp(25px, 0.99vw + 21.27px, 34px));\n line-height: var(--line-height-heading-tight, 1);\n}\n\n/* Heading 4 */\n.level-4 {\n font-size: var(--font-size-heading-4-fluid, clamp(20px, 0.44vw + 18.34px, 24px));\n line-height: var(--line-height-heading-normal, 1.1);\n}\n\n@media (min-width: 768px) {\n .level-4 {\n line-height: var(--line-height-heading-relaxed, 1.2);\n }\n}\n\n/* Heading 5 */\n.level-5 {\n font-size: var(--font-size-heading-5-fluid, clamp(18px, 0.22vw + 17.17px, 20px));\n line-height: var(--line-height-heading-normal, 1.1);\n}\n\n@media (min-width: 768px) {\n .level-5 {\n line-height: var(--line-height-heading-relaxed, 1.2);\n }\n}\n","import { Component, h, Prop } from '@stencil/core';\n\n/**\n * Heading component that inherits color from theme context.\n * Color is determined by the parent theme (af-section, af-card, etc.)\n * via CSS custom properties.\n */\n@Component({\n tag: 'af-heading',\n styleUrl: 'af-heading.css',\n shadow: true\n})\nexport class AfHeading {\n /** Heading level */\n @Prop() level: 'xl' | '1' | '2' | '3' | '4' | '5' = '1';\n\n /** Visual alignment. Defaults to 'inherit' which reads from parent context (e.g. AfTypographyLockup) */\n @Prop() align: 'inherit' | 'left' | 'center' | 'right' = 'inherit';\n\n private getHeadingTag() {\n // Map display levels to semantic HTML tags\n const tagMap: Record<string, string> = {\n 'xl': 'h1',\n '1': 'h1',\n '2': 'h2',\n '3': 'h3',\n '4': 'h4',\n '5': 'h5'\n };\n return tagMap[this.level] || 'h1';\n }\n\n render() {\n const Tag = this.getHeadingTag() as any;\n\n return (\n <Tag\n class={{\n 'heading': true,\n [`level-${this.level}`]: true,\n [`align-${this.align}`]: true\n }}\n part=\"base\"\n >\n <slot />\n </Tag>\n );\n }\n}\n",":host {\n display: block;\n}\n\n.text {\n margin: 0;\n padding: 0;\n font-family: var(--typography-bodyfont, 'NeuSans', Arial, sans-serif);\n font-weight: var(--font-weight-regular, 400);\n /* Inherit color from theme context via CSS custom property */\n color: var(--af-typography-body-default, var(--colour-inkwell-400, #2b484f));\n letter-spacing: var(--letter-spacing-body, 0);\n /* Inherit alignment from parent context (e.g. typography lockup), default to left */\n text-align: var(--af-text-align, left);\n}\n\n/* Alignment */\n.align-left {\n text-align: left;\n}\n\n.align-center {\n text-align: center;\n}\n\n.align-right {\n text-align: right;\n}\n\n/* Body variants */\n.variant-xlarge {\n font-size: var(--font-size-body-xlarge, 22px);\n line-height: var(--line-height-body-xlarge, 28px);\n}\n\n.variant-large {\n font-size: var(--font-size-body-large, 18px);\n line-height: var(--line-height-body-large, 26px);\n}\n\n.variant-medium {\n font-size: var(--font-size-body-medium, 16px);\n line-height: var(--line-height-body-medium, 24px);\n}\n\n.variant-small {\n font-size: var(--font-size-body-small, 14px);\n line-height: var(--line-height-body-small, 20px);\n}\n","import { Component, h, Prop } from '@stencil/core';\n\n/**\n * Text/body component that inherits color from theme context.\n * Color is determined by the parent theme (af-section, af-card, etc.)\n * via CSS custom properties.\n */\n@Component({\n tag: 'af-text',\n styleUrl: 'af-text.css',\n shadow: true\n})\nexport class AfText {\n /** Text variant */\n @Prop() variant: 'xlarge' | 'large' | 'medium' | 'small' = 'medium';\n\n /** Visual alignment. When not set, inherits from parent context (e.g. typography lockup). */\n @Prop() align?: 'left' | 'center' | 'right';\n\n /** Semantic element to render */\n @Prop() as: 'p' | 'span' | 'div' | 'label' = 'p';\n\n render() {\n const Tag = this.as as any;\n\n return (\n <Tag\n class={{\n 'text': true,\n [`variant-${this.variant}`]: true,\n [`align-${this.align}`]: !!this.align\n }}\n part=\"base\"\n >\n <slot />\n </Tag>\n );\n }\n}\n",":host {\n display: inline-block;\n}\n\n/* Mobile breakpoint - full width block display */\n:host([breakpoint=\"mobile\"]) {\n display: block;\n width: 100%;\n}\n\n.nav-link {\n text-decoration: none;\n color: inherit;\n display: block;\n}\n\n.nav-item {\n display: flex;\n align-items: center;\n gap: 8px;\n box-sizing: border-box;\n cursor: pointer;\n}\n\n/* Primary hierarchy - bold main navigation */\n.hierarchy-primary {\n padding: 12px;\n justify-content: center;\n}\n\n.hierarchy-primary .label-container {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 24px;\n gap: 10px;\n}\n\n/* Primary variant 01 - darker */\n.hierarchy-primary.variant-01 {\n font-family: var(--typography-headingfont, 'NeuSans', 'Inter', system-ui, sans-serif);\n font-size: 16px;\n font-weight: var(--font-weight-book, 500);\n line-height: 20px;\n color: var(--af-nav-item-primary, var(--af-typography-body-dark, #14343b));\n}\n\n/* Add transparent border to prevent layout shift on hover */\n.hierarchy-primary.variant-01 .label-container {\n border-bottom: 1px solid transparent;\n}\n\n/* Primary variant 02 - lighter for light backgrounds */\n.hierarchy-primary.variant-02 {\n font-family: var(--typography-bodyfont, 'Helvetica', 'Inter', system-ui, sans-serif);\n font-size: 16px;\n font-weight: var(--font-weight-regular, 400);\n line-height: 20px;\n color: var(--af-nav-item-secondary, var(--af-typography-body-default, #2b484f));\n}\n\n/* Hover state for primary variant-01 - show underline */\n.hierarchy-primary.variant-01:hover .label-container {\n border-bottom-color: currentColor;\n}\n\n/* Active state for primary variant-01 - thicker border */\n.hierarchy-primary.variant-01.active .label-container {\n border-bottom: 2px solid var(--af-nav-border-active, var(--af-background-border-active, #8a7049));\n /* Adjust margin to prevent shift from 1px to 2px border */\n margin-bottom: -1px;\n}\n\n/* Hover and active states for variant-02 (light backgrounds) - no border */\n.hierarchy-primary.variant-02:hover {\n background-color: rgba(20, 52, 59, 0.04);\n border-radius: 8px;\n}\n\n.hierarchy-primary.variant-02.active {\n background-color: rgba(20, 52, 59, 0.08);\n border-radius: 8px;\n}\n\n/* Secondary hierarchy - smaller sub-navigation */\n.hierarchy-secondary {\n padding: 4px 0;\n}\n\n.hierarchy-secondary .label-container {\n display: flex;\n align-items: center;\n flex: 1;\n min-height: 24px;\n gap: 10px;\n}\n\n/* Secondary variant 01 - medium weight */\n.hierarchy-secondary.variant-01 {\n font-family: var(--typography-headingfont, 'NeuSans', 'Inter', system-ui, sans-serif);\n font-size: 14px;\n font-weight: 500;\n line-height: 20px;\n color: var(--af-nav-item-primary, var(--af-typography-body-dark, #14343b));\n}\n\n/* Secondary variant 02 - regular weight */\n.hierarchy-secondary.variant-02 {\n font-family: var(--typography-bodyfont, 'NeuSans', 'Inter', system-ui, sans-serif);\n font-size: 14px;\n font-weight: 400;\n line-height: 20px;\n color: var(--af-nav-item-secondary, var(--af-typography-body-default, #2b484f));\n}\n\n/* Hover state for secondary - underline text */\n.hierarchy-secondary:hover .label-container {\n text-decoration: underline;\n}\n\n/* Focus states for accessibility */\n.nav-item:focus-within {\n outline: 2px solid var(--af-nav-border-active, var(--af-background-border-active, #8a7049));\n outline-offset: 2px;\n border-radius: 4px;\n}\n\n/* Remove default focus outline on link */\n.nav-link:focus {\n outline: none;\n}\n\n.nav-link:focus-visible + .nav-item,\n:host(:focus-visible) .nav-item {\n outline: 2px solid var(--af-nav-border-active, var(--af-background-border-active, #8a7049));\n outline-offset: 2px;\n border-radius: 4px;\n}\n\n/* Mobile breakpoint styles - explicit via prop */\n.hierarchy-primary.breakpoint-mobile {\n padding: 20px 12px;\n border-bottom: 1px solid var(--af-nav-border-subtle, var(--af-background-border-subtle, #e8eeed));\n width: 100%;\n justify-content: flex-start;\n}\n\n.hierarchy-primary.breakpoint-mobile .label-container {\n flex: 1;\n justify-content: flex-start;\n}\n\n.hierarchy-primary.variant-01.breakpoint-mobile {\n font-size: 20px;\n line-height: 1.1;\n letter-spacing: -0.4px;\n}\n\n.hierarchy-primary.variant-02.breakpoint-mobile {\n font-size: 20px;\n line-height: 1.1;\n letter-spacing: -0.4px;\n color: var(--af-nav-item-subtle, var(--af-typography-body-subtle, #60767b));\n}\n\n/* Mobile breakpoint for secondary hierarchy */\n.hierarchy-secondary.breakpoint-mobile {\n padding: 2px 0;\n height: 40px;\n}\n\n.hierarchy-secondary.breakpoint-mobile .label-container {\n min-height: 24px;\n}\n\n/* Mobile removes the hover underline effect */\n.hierarchy-primary.breakpoint-mobile.variant-01 .label-container {\n border-bottom-color: transparent;\n}\n\n.hierarchy-primary.breakpoint-mobile.variant-01:hover .label-container {\n border-bottom-color: transparent;\n}\n\n.hierarchy-primary.breakpoint-mobile.variant-01.active .label-container {\n border-bottom-color: transparent;\n margin-bottom: 0;\n}\n\n/* Icon sizing and styling */\n::slotted([slot=\"icon-left\"]),\n::slotted([slot=\"icon-right\"]) {\n width: 24px;\n height: 24px;\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: transform 0.2s ease;\n}\n\n/* Icon color inheritance for primary hierarchy */\n.hierarchy-primary.variant-01 ::slotted([slot=\"icon-left\"]),\n.hierarchy-primary.variant-01 ::slotted([slot=\"icon-right\"]) {\n color: var(--af-nav-item-primary, var(--af-typography-body-dark, #14343b));\n}\n\n.hierarchy-primary.variant-02 ::slotted([slot=\"icon-left\"]),\n.hierarchy-primary.variant-02 ::slotted([slot=\"icon-right\"]) {\n color: var(--af-nav-item-secondary, var(--af-typography-body-default, #2b484f));\n}\n\n/* Icon rotation on active for mobile primary with dropdown indicator.\n Desktop chevrons stay static — rotating on hover/active felt fidgety\n and the open/closed state is already clear from the dropdown panel. */\n.hierarchy-primary.breakpoint-mobile.active ::slotted([slot=\"icon-right\"]) {\n transform: rotate(180deg);\n}\n\n/* Secondary hierarchy - smaller icons */\n.hierarchy-secondary ::slotted([slot=\"icon-right\"]) {\n width: 20px;\n height: 20px;\n}\n\n/* Icon color inheritance for secondary hierarchy */\n.hierarchy-secondary.variant-01 ::slotted([slot=\"icon-right\"]) {\n color: var(--af-nav-item-primary, var(--af-typography-body-dark, #14343b));\n}\n\n.hierarchy-secondary.variant-02 ::slotted([slot=\"icon-right\"]) {\n color: var(--af-nav-item-secondary, var(--af-typography-body-default, #2b484f));\n}\n\n/* Fallback media query for when breakpoint prop is not set */\n/* ≤ tablet */\n@media (max-width: 1023px) {\n :host([breakpoint=\"auto\"]) .hierarchy-primary,\n :host(:not([breakpoint])) .hierarchy-primary {\n padding: 20px 12px;\n border-bottom: 1px solid var(--af-nav-border-subtle, var(--af-background-border-subtle, #e8eeed));\n width: 100%;\n }\n\n :host([breakpoint=\"auto\"]) .hierarchy-primary .label-container,\n :host(:not([breakpoint])) .hierarchy-primary .label-container {\n flex: 1;\n justify-content: flex-start;\n }\n\n :host([breakpoint=\"auto\"]) .hierarchy-primary.variant-01,\n :host(:not([breakpoint])) .hierarchy-primary.variant-01 {\n font-size: 20px;\n line-height: 1.1;\n letter-spacing: -0.4px;\n }\n\n :host([breakpoint=\"auto\"]) .hierarchy-primary.variant-02,\n :host(:not([breakpoint])) .hierarchy-primary.variant-02 {\n font-size: 20px;\n line-height: 1.1;\n letter-spacing: -0.4px;\n color: var(--af-nav-item-subtle, var(--af-typography-body-subtle, #60767b));\n }\n\n /* Icon rotation on active for auto/responsive breakpoint */\n :host([breakpoint=\"auto\"]) .hierarchy-primary.active ::slotted([slot=\"icon-right\"]),\n :host(:not([breakpoint])) .hierarchy-primary.active ::slotted([slot=\"icon-right\"]) {\n transform: rotate(180deg);\n }\n\n /* Disable desktop hover rotation in mobile view */\n :host([breakpoint=\"auto\"]) .hierarchy-primary:hover ::slotted([slot=\"icon-right\"]),\n :host(:not([breakpoint])) .hierarchy-primary:hover ::slotted([slot=\"icon-right\"]) {\n transform: none;\n }\n\n :host([breakpoint=\"auto\"]) .hierarchy-primary.active:hover ::slotted([slot=\"icon-right\"]),\n :host(:not([breakpoint])) .hierarchy-primary.active:hover ::slotted([slot=\"icon-right\"]) {\n transform: rotate(180deg);\n }\n}\n","import { Component, Element, h, Prop, Host } from '@stencil/core';\n\n/**\n * A generic navigation item component that can be used in navigation bars, menus, and sidebars.\n * Supports multiple hierarchy levels, variants, and states (active, hover).\n *\n * **Dropdown trigger a11y:** when the host carries a `data-dropdown=\"id\"`\n * attribute and has no `href`, the inner wrapper is promoted to\n * `role=\"button\"` with `tabindex=\"0\"` and keyboard activation (Enter/Space),\n * so keyboard users can open the matching dropdown panel just like a\n * pointer click. The companion `af-navbar` keeps `aria-expanded` on the\n * host in sync with the active dropdown.\n */\n@Component({\n tag: 'af-nav-item',\n styleUrl: 'af-nav-item.css',\n shadow: false,\n scoped: true,\n})\nexport class AfNavItem {\n @Element() el!: HTMLElement;\n\n /**\n * Visual hierarchy level of the navigation item\n * - 'primary': Bold, main navigation (larger text, prominent styling)\n * - 'secondary': Lighter, sub-navigation (smaller text, subtle styling)\n */\n @Prop() hierarchy: 'primary' | 'secondary' = 'primary';\n\n /**\n * Visual variant within the hierarchy level\n * - '01': Darker/more prominent styling\n * - '02': Lighter/more subtle styling\n */\n @Prop() variant: '01' | '02' = '01';\n\n /**\n * Breakpoint variant for responsive styling\n * - 'desktop': Desktop-specific styles\n * - 'mobile': Mobile-specific styles (larger text, different spacing)\n */\n @Prop({ reflect: true }) breakpoint: 'desktop' | 'mobile' = 'desktop';\n\n /**\n * URL to navigate to when clicked\n */\n @Prop() href?: string;\n\n /**\n * Whether this nav item is currently active/selected\n */\n @Prop() active: boolean = false;\n\n /**\n * Promote Enter and Space on a focused trigger into a synthetic click\n * so the surrounding af-navbar (which listens on click) treats the\n * keyboard activation identically to a pointer click.\n */\n private handleTriggerKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Enter' || event.key === ' ' || event.key === 'Spacebar') {\n event.preventDefault();\n this.el.click();\n }\n };\n\n render() {\n const classes = {\n 'nav-item': true,\n [`hierarchy-${this.hierarchy}`]: true,\n [`variant-${this.variant}`]: true,\n [`breakpoint-${this.breakpoint}`]: true,\n 'active': this.active,\n };\n\n const innerContent = [\n <slot name=\"icon-left\"></slot>,\n <div class=\"label-container\">\n <slot></slot>\n </div>,\n <slot name=\"icon-right\"></slot>,\n ];\n\n if (this.href) {\n return (\n <Host>\n <a href={this.href} class=\"nav-link\">\n <div class={classes}>{innerContent}</div>\n </a>\n </Host>\n );\n }\n\n const isDropdownTrigger = this.el.hasAttribute('data-dropdown');\n if (isDropdownTrigger) {\n return (\n <Host>\n <div\n class={classes}\n role=\"button\"\n tabindex={0}\n aria-haspopup=\"menu\"\n onKeyDown={this.handleTriggerKeyDown}\n >\n {innerContent}\n </div>\n </Host>\n );\n }\n\n return <Host>{<div class={classes}>{innerContent}</div>}</Host>;\n }\n}\n",":host {\n display: block;\n width: 100%;\n}\n\n/* Spacer element that sits in normal document flow to prevent content overlap */\n.navbar-spacer {\n height: 100px; /* Accounts for navbar height + top margin */\n}\n\n/* Theme variants for spacer background - matches section themes */\n.navbar-spacer.theme-white {\n background-color: var(--colour-brand-white, #FFFFFF);\n}\n\n.navbar-spacer.theme-inkwell {\n background-color: var(--colour-brand-inkwell, #14343B);\n}\n\n.navbar-spacer.theme-mist-green {\n background-color: var(--colour-brand-mist-green, #C6D5D1);\n}\n\n.navbar-spacer.theme-soft-clay {\n background-color: var(--colour-softclay-400, #c0ab8d);\n}\n\n/* Sticky navbar that floats above the spacer */\n.navbar-container {\n position: fixed;\n /* Add safe-area-inset-top so the pill drops below the iOS notch / status bar\n when the page uses viewport-fit=cover. Falls back to the original 32px. */\n top: max(32px, env(safe-area-inset-top));\n left: 0;\n right: 0;\n z-index: 10;\n /* Horizontal padding honours safe-area-inset-left/right for landscape on\n notched devices; the inset is added on top of the existing 80px gutter. */\n padding: 0 calc(80px + env(safe-area-inset-right)) 0 calc(80px + env(safe-area-inset-left));\n box-sizing: border-box;\n}\n\n.navbar {\n background: var(--colour-background-white, #ffffff);\n border-radius: 9999px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 8px 8px 40px;\n box-sizing: border-box;\n flex-wrap: nowrap; /* Prevent wrapping */\n}\n\n/* Left section */\n.navbar-left {\n display: flex;\n align-items: center;\n gap: 32px;\n flex-shrink: 0;\n}\n\n.logo {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n}\n\n/* Mobile menu toggle button */\n.mobile-menu-toggle {\n display: none;\n background: none;\n border: none;\n padding: 8px;\n cursor: pointer;\n color: var(--colour-brand-inkwell, #14343b);\n margin-left: auto;\n}\n\n.mobile-menu-toggle svg {\n display: block;\n}\n\n.nav-links {\n display: flex;\n align-items: center;\n gap: 8px;\n flex-wrap: nowrap;\n}\n\n/* Right section */\n.navbar-right {\n display: flex;\n align-items: center;\n gap: 20px;\n}\n\n.nav-actions {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.nav-button {\n display: flex;\n align-items: center;\n}\n\n/* Dropdown container. The container's top is raised 8px into what\n was previously a blank gap between the nav pill and the panel, and\n that 8px is absorbed as container top-padding — so the visible panel\n stays put, but the hoverable region is now continuous between the\n nav pill and the dropdown. Without this, the mouse crosses an\n un-hovered strip on its way from trigger to panel and the navbar's\n mouseleave handler fires a close. */\n.dropdown-container {\n position: absolute;\n top: 100px;\n left: 0;\n right: 0;\n padding: 8px 80px 0;\n pointer-events: none;\n opacity: 0;\n transform: translateY(-8px);\n transition: opacity 0.2s ease, transform 0.2s ease;\n}\n\n.dropdown-container.is-open {\n pointer-events: auto;\n opacity: 1;\n transform: translateY(0);\n}\n\n.dropdown-panel {\n background: var(--colour-background-base, #ffffff);\n border-radius: 32px;\n overflow: hidden;\n /* shadow-navbar replaces the hand-rolled `0 4px 24px rgba(20, 52, 59, 0.12)`;\n * same value, now sourced from the token ladder so the marketing site can\n * retire its matching bespoke rule. */\n box-shadow: var(--shadow-navbar, 0 4px 24px rgba(20, 52, 59, 0.12));\n}\n\n/* Hide empty dropdown slots */\n.dropdown-panel:empty {\n display: none;\n}\n\n/* Mobile menu panel - separate from navbar for proper positioning */\n.mobile-menu-panel {\n display: none;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: var(--colour-background-base, #ffffff);\n z-index: 9;\n /* Full-viewport drawer: pad the top below the notch, the bottom above the\n home indicator, and the sides away from landscape edge cutouts. */\n padding:\n max(100px, calc(100px + env(safe-area-inset-top)))\n calc(16px + env(safe-area-inset-right))\n max(24px, env(safe-area-inset-bottom))\n calc(16px + env(safe-area-inset-left));\n overflow-y: auto;\n opacity: 0;\n pointer-events: none;\n transition: opacity 0.2s ease;\n}\n\n.mobile-menu-panel.is-open {\n display: block;\n opacity: 1;\n pointer-events: auto;\n}\n\n/* Mobile CTA button container */\n.mobile-button-container {\n margin-bottom: 8px;\n}\n\n.mobile-button-container ::slotted(*) {\n width: 100%;\n}\n\n/* Mobile menu content - flex column ensures items stack vertically */\n.mobile-menu-content {\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n\n/* Force slotted items to take full width for composability */\n.mobile-menu-content ::slotted(*) {\n flex: 0 0 auto;\n width: 100%;\n}\n\n/* \n * Breakpoint 1: Hide \"Talk to us\" and \"Log in\" (nav-actions) \n * This happens first as the viewport gets narrower\n * Matches affinda.com behavior at ~1100px\n */\n@media (max-width: 1099px) {\n .nav-actions {\n display: none;\n }\n \n .navbar-right {\n gap: 0;\n }\n}\n\n/* Tablet adjustments */\n@media (max-width: 1024px) {\n .navbar-spacer {\n height: 88px;\n }\n\n .navbar-container {\n top: max(24px, env(safe-area-inset-top));\n padding: 0 calc(40px + env(safe-area-inset-right)) 0 calc(40px + env(safe-area-inset-left));\n }\n\n .navbar-left {\n gap: 24px;\n }\n\n .nav-links {\n gap: 4px;\n }\n\n .dropdown-container {\n padding: 0 40px;\n }\n}\n\n/* \n * Breakpoint 2: Switch to hamburger menu\n * Matches affinda.com behavior at 991px\n */\n@media (max-width: 991px) {\n .navbar-spacer {\n height: 72px;\n }\n\n .navbar-container {\n top: max(16px, env(safe-area-inset-top));\n padding: 0 calc(16px + env(safe-area-inset-right)) 0 calc(16px + env(safe-area-inset-left));\n z-index: 11; /* Above mobile menu panel */\n }\n\n .navbar {\n padding: 8px 8px 8px 24px; /* Figma: 8px padding right, 24px left on mobile */\n flex-direction: row;\n border-radius: 9999px; /* Keep pill shape on mobile */\n gap: 0;\n }\n\n .navbar-left {\n width: auto;\n flex-direction: row;\n justify-content: flex-start;\n align-items: center;\n gap: 16px;\n flex: 1;\n }\n\n /* Show hamburger button on mobile */\n .mobile-menu-toggle {\n display: flex;\n padding: 12px;\n margin-left: auto;\n border-radius: 9999px;\n border: 1px solid var(--colour-brand-inkwell, #14343b);\n }\n\n .mobile-menu-toggle:hover {\n background: rgba(20, 52, 59, 0.05);\n }\n\n /* Hide nav links on mobile - they're in the mobile menu panel */\n .nav-links {\n display: none;\n }\n\n /* Hide right section on mobile - button is in mobile menu panel */\n .navbar-right {\n display: none;\n }\n\n /* Hide desktop dropdown on mobile */\n .dropdown-container {\n display: none;\n }\n\n /* Mobile menu panel adjustments */\n .mobile-menu-panel {\n padding-top: max(88px, calc(88px + env(safe-area-inset-top))); /* Accounts for navbar height + notch */\n }\n\n .mobile-button-container {\n padding: 0 12px;\n margin-bottom: 8px;\n }\n\n .mobile-button-container ::slotted(af-button),\n .mobile-button-container ::slotted(button) {\n width: 100%;\n display: flex;\n justify-content: center;\n }\n}\n\n/* ==========================================================================\n Force Mobile Mode\n Apply mobile styles regardless of viewport when force-mobile attribute is set\n ========================================================================== */\n\n:host([force-mobile]) .navbar-spacer {\n height: 72px;\n}\n\n:host([force-mobile]) .navbar-container {\n top: max(16px, env(safe-area-inset-top));\n padding: 0 calc(16px + env(safe-area-inset-right)) 0 calc(16px + env(safe-area-inset-left));\n z-index: 11;\n}\n\n:host([force-mobile]) .navbar {\n padding: 8px 8px 8px 24px;\n flex-direction: row;\n border-radius: 9999px;\n gap: 0;\n}\n\n:host([force-mobile]) .navbar-left {\n width: auto;\n flex-direction: row;\n justify-content: flex-start;\n align-items: center;\n gap: 16px;\n flex: 1;\n}\n\n:host([force-mobile]) .mobile-menu-toggle {\n display: flex;\n padding: 12px;\n margin-left: auto;\n border-radius: 9999px;\n border: 1px solid var(--colour-brand-inkwell, #14343b);\n}\n\n:host([force-mobile]) .mobile-menu-toggle:hover {\n background: rgba(20, 52, 59, 0.05);\n}\n\n:host([force-mobile]) .nav-links {\n display: none;\n}\n\n:host([force-mobile]) .navbar-right {\n display: none;\n}\n\n:host([force-mobile]) .nav-actions {\n display: none;\n}\n\n:host([force-mobile]) .dropdown-container {\n display: none;\n}\n\n:host([force-mobile]) .mobile-menu-panel {\n padding-top: max(88px, calc(88px + env(safe-area-inset-top)));\n}\n\n:host([force-mobile]) .mobile-menu-panel.is-open {\n display: block;\n opacity: 1;\n pointer-events: auto;\n}\n\n:host([force-mobile]) .mobile-button-container {\n padding: 0 12px;\n margin-bottom: 8px;\n}\n\n:host([force-mobile]) .mobile-button-container ::slotted(af-button),\n:host([force-mobile]) .mobile-button-container ::slotted(button) {\n width: 100%;\n display: flex;\n justify-content: center;\n}\n\n/* Force mobile: flex column ensures items stack vertically */\n:host([force-mobile]) .mobile-menu-content {\n display: flex;\n flex-direction: column;\n}\n\n/* Force mobile: slotted items take full width for composability */\n:host([force-mobile]) .mobile-menu-content ::slotted(*) {\n flex: 0 0 auto;\n width: 100%;\n}\n","import { Component, State, h, Host, Prop, Element, Listen } from '@stencil/core';\nimport type { Theme } from '../../types';\n\n/**\n * A full-width navigation bar component that provides the main site navigation.\n * Features a pill-shaped container with logo, navigation links, and action buttons.\n * Includes mobile hamburger menu and support for mega-menu dropdowns.\n * \n * The logo slot can be used to provide a custom logo. If no logo is provided,\n * the default Affinda logo will be displayed.\n * \n * **Slots:**\n * - `logo` - Logo area (defaults to Affinda logo if empty)\n * - `start` - Primary navigation links (left side, desktop)\n * - `end` - Secondary/utility links (right side)\n * - `button` - Call-to-action button\n * - `dropdowns` - One or more dropdown panels, each a `<div data-for=\"id\">`\n * where `id` matches the `data-dropdown=\"id\"` attribute on the trigger.\n * Clicking a trigger toggles the matching panel; only one is visible at\n * a time.\n * - `mobile-menu` - Mobile menu content (use af-nav-accordion for accordion menus)\n * - `mobile-button` - CTA button for mobile menu (appears at top)\n */\n@Component({\n tag: 'af-navbar',\n styleUrl: 'af-navbar.css',\n shadow: false,\n scoped: true,\n})\nexport class AfNavbar {\n @Element() el!: HTMLElement;\n\n @State() mobileMenuOpen: boolean = false;\n \n /** The currently open dropdown identifier (null if none open) */\n @State() activeDropdown: string | null = null;\n\n /** Whether to show the default Affinda logo when no logo slot content is provided */\n @Prop() showDefaultLogo: boolean = true;\n\n /** Theme for the spacer background - should match the section below the navbar */\n @Prop() theme?: Theme;\n\n /** Force mobile layout regardless of viewport size (useful for testing/stories) */\n @Prop({ reflect: true }) forceMobile: boolean = false;\n\n private toggleMobileMenu = () => {\n this.mobileMenuOpen = !this.mobileMenuOpen;\n // Close any open dropdown when toggling mobile menu\n this.activeDropdown = null;\n };\n\n /**\n * Opens a dropdown by its identifier\n */\n private openDropdown = (dropdownId: string) => {\n this.activeDropdown = dropdownId;\n };\n\n /**\n * Closes the currently open dropdown\n */\n private closeDropdown = () => {\n this.activeDropdown = null;\n };\n\n /**\n * Toggles a dropdown by its identifier\n */\n private toggleDropdown = (dropdownId: string) => {\n if (this.activeDropdown === dropdownId) {\n this.activeDropdown = null;\n } else {\n this.activeDropdown = dropdownId;\n }\n };\n\n /** Timer id used to debounce hover-driven closes. */\n private closeTimer?: number;\n\n /**\n * The trigger element that opened the currently active dropdown. Tracked\n * so an Esc keypress can close the dropdown and restore focus to the\n * trigger, matching WAI-ARIA menu-button guidance.\n */\n private lastActiveTrigger?: HTMLElement;\n\n /**\n * Open the dropdown matching a `[data-dropdown]` trigger on click —\n * acts as a toggle so keyboard/touch users can still dismiss it.\n */\n @Listen('click')\n handleTriggerClick(event: MouseEvent) {\n const target = event.target as HTMLElement | null;\n const trigger = target?.closest?.('[data-dropdown]') as HTMLElement | null;\n if (!trigger || !this.el.contains(trigger)) return;\n const id = trigger.getAttribute('data-dropdown');\n if (!id) return;\n event.preventDefault();\n event.stopPropagation();\n this.cancelScheduledClose();\n this.lastActiveTrigger = trigger;\n this.toggleDropdown(id);\n }\n\n /**\n * Open the dropdown matching a `[data-dropdown]` trigger on hover.\n * Uses mouseover (which bubbles) and checks for the trigger ancestor.\n */\n @Listen('mouseover')\n handleHover(event: MouseEvent) {\n const target = event.target as HTMLElement | null;\n const trigger = target?.closest?.('[data-dropdown]') as HTMLElement | null;\n if (!trigger || !this.el.contains(trigger)) return;\n const id = trigger.getAttribute('data-dropdown');\n if (!id || this.activeDropdown === id) {\n this.cancelScheduledClose();\n return;\n }\n this.cancelScheduledClose();\n this.lastActiveTrigger = trigger;\n this.openDropdown(id);\n }\n\n /**\n * When the pointer leaves the navbar entirely (including any open\n * dropdown panel), schedule a close. Re-entering cancels it.\n */\n @Listen('mouseleave')\n handleHostLeave() {\n this.scheduleClose();\n }\n\n @Listen('mouseenter')\n handleHostEnter() {\n this.cancelScheduledClose();\n }\n\n private scheduleClose() {\n // Short 100ms debounce so the mouse has time to cross any tiny\n // dead-zone between the nav pill, the dropdown panel, and the\n // items inside it without accidentally closing the panel. A\n // re-entering mouseenter on the host cancels the pending close.\n this.cancelScheduledClose();\n this.closeTimer = window.setTimeout(() => {\n this.closeDropdown();\n this.closeTimer = undefined;\n }, 100);\n }\n\n private cancelScheduledClose() {\n if (this.closeTimer !== undefined) {\n clearTimeout(this.closeTimer);\n this.closeTimer = undefined;\n }\n }\n\n /**\n * Handle clicks outside the navbar to close dropdowns\n */\n @Listen('click', { target: 'document' })\n handleDocumentClick(event: MouseEvent) {\n const path = event.composedPath();\n if (!path.includes(this.el)) {\n this.closeDropdown();\n }\n }\n\n /**\n * Keep the visibility of slotted dropdown panels, and the `data-active`\n * flag on their triggers, in sync with the currently active dropdown.\n * Each panel lives in the `dropdowns` slot and carries a `data-for`\n * attribute that matches its trigger's id.\n */\n componentDidLoad() {\n this.syncDropdownState();\n }\n\n componentDidUpdate() {\n this.syncDropdownState();\n }\n\n private syncDropdownState() {\n this.el.querySelectorAll<HTMLElement>('[data-for]').forEach((panel) => {\n if (!this.el.contains(panel)) return;\n panel.hidden = panel.getAttribute('data-for') !== this.activeDropdown;\n });\n this.el.querySelectorAll<HTMLElement>('[data-dropdown]').forEach((trigger) => {\n if (!this.el.contains(trigger)) return;\n const active = trigger.getAttribute('data-dropdown') === this.activeDropdown;\n if (active) trigger.setAttribute('data-active', '');\n else trigger.removeAttribute('data-active');\n trigger.setAttribute('aria-expanded', active ? 'true' : 'false');\n });\n }\n\n /**\n * Handle escape key to close dropdowns. If a dropdown is open, restore\n * focus to the trigger that opened it so keyboard users don't lose\n * their place in the tab order.\n */\n @Listen('keydown', { target: 'document' })\n handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'Escape' && this.activeDropdown !== null) {\n const toFocus = this.lastActiveTrigger;\n this.closeDropdown();\n toFocus?.focus?.();\n }\n }\n\n render() {\n const hasDropdown = this.activeDropdown !== null;\n\n return (\n <Host class={{ 'has-dropdown-open': hasDropdown }}>\n {/* Spacer element to prevent content from being hidden behind sticky navbar */}\n <div class={`navbar-spacer${this.theme ? ` theme-${this.theme}` : ''}`}></div>\n \n <nav class=\"navbar-container\">\n <div class=\"navbar theme-white\">\n {/* Left section: Logo + Nav Links */}\n <div class=\"navbar-left\">\n <div class=\"logo\">\n <slot name=\"logo\">\n {/* Default Affinda logo if no slot content provided */}\n {this.showDefaultLogo && <af-logo></af-logo>}\n </slot>\n </div>\n \n {/* Hamburger menu button - mobile only */}\n <button \n class=\"mobile-menu-toggle\"\n onClick={this.toggleMobileMenu}\n aria-label=\"Toggle navigation menu\"\n aria-expanded={this.mobileMenuOpen ? 'true' : 'false'}\n >\n {this.mobileMenuOpen ? (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\">\n <path d=\"M18 6L6 18M6 6l12 12\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n ) : (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\">\n <path d=\"M3 12h18M3 6h18M3 18h18\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n )}\n </button>\n \n <div class={`nav-links ${this.mobileMenuOpen ? 'mobile-open' : ''}`}>\n <slot name=\"start\"></slot>\n </div>\n </div>\n\n {/* Right section: Actions + Button */}\n <div class={`navbar-right ${this.mobileMenuOpen ? 'mobile-open' : ''}`}>\n <div class=\"nav-actions\">\n <slot name=\"end\"></slot>\n </div>\n <div class=\"nav-button\">\n <slot name=\"button\"></slot>\n </div>\n </div>\n </div>\n\n {/* Dropdown panel container */}\n <div class={`dropdown-container ${hasDropdown ? 'is-open' : ''}`}>\n <div class=\"dropdown-panel theme-white\">\n <slot name=\"dropdowns\"></slot>\n </div>\n </div>\n </nav>\n\n {/* Mobile menu panel */}\n <div class={`mobile-menu-panel theme-white ${this.mobileMenuOpen ? 'is-open' : ''}`}>\n {/* Mobile CTA button at top.\n Note: only `name=\"mobile-button\"` here. We can't fall back\n to `<slot name=\"button\">` because Stencil's scoped-mode slot\n projection only matches a slot once per host — declaring the\n same slot name in two template positions silently breaks\n projection of the outer slot, leaving the desktop CTA\n orphaned at the host root with no visual parent. Consumers\n must explicitly slot a `mobile-button` (SiteHeader does). */}\n <div class=\"mobile-button-container\">\n <slot name=\"mobile-button\"></slot>\n </div>\n \n {/* Mobile navigation content */}\n <div class=\"mobile-menu-content\">\n <slot name=\"mobile-menu\"></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n",":host {\n display: inline-block;\n color: var(--af-background-icon-default, var(--colour-brand-inkwell, #14343b));\n}\n\n.logo-svg {\n display: block;\n /* Maintain aspect ratio based on viewBox (9290:1432 ≈ 6.49:1) */\n width: auto;\n height: 22px;\n}\n","import { Component, h, Host } from '@stencil/core';\n\n/**\n * Affinda logo component\n */\n@Component({\n tag: 'af-logo',\n styleUrl: 'af-logo.css',\n shadow: true\n})\nexport class AfLogo {\n render() {\n return (\n <Host>\n <svg \n class=\"logo-svg\" \n viewBox=\"0 0 9290 1432\" \n aria-label=\"Affinda\"\n role=\"img\"\n >\n <path \n fill=\"currentColor\" \n d=\"M1691.17,452.11c-107.93-107.48-250.13-166.09-401.3-163.79h-739.51l-148.18,237.98h892.96c86.83,0,168.39,33.64,230.09,95.09,63.28,63.04,98.26,147.32,98.26,237.45,0,185.03-149.41,335.36-332.92,335.36H385.66c-82.44,0-149.59-67.64-149.59-150.68s67.32-151.75,149.41-154.23h810.17l152.93-237.98H381.44C171.21,656.62,0,832.45,0,1043.52s172.97,388.48,385.66,388.48h904.91c313.76,0,569.17-257.28,569.17-573.34,0-154.22-59.76-298.53-168.4-406.72l-.17.18Z\"\n />\n <path \n fill=\"currentColor\" \n d=\"M3265.12,353.81c-21.8-16.16-44.47-30.56-68.02-42.85-75.76-39.69-161-59.89-253.45-59.89-159.6,0-297.92,58.13-411.29,172.82-113.02,114.33-170.49,253.96-170.49,415.01s56.77,304.89,168.73,419.58c112.49,115.21,250.29,173.52,409.35,173.52,89.47,0,173.31-18.97,249.06-56.38,26.19-12.99,51.68-28.1,76.11-45.49v89.05h268.39V276.36h-268.39v77.45ZM3232.07,1013.47c-27.24,48.65-65.38,86.24-116.35,114.87-51.85,29.15-105.11,43.38-162.58,43.38s-107.92-14.05-157.31-43.21c-49.57-28.98-87.88-68.85-117.59-121.53-29.88-53.04-44.29-106.79-44.29-164.39s14.41-111.88,43.94-164.21c29.18-51.99,67.32-91.15,116.36-119.6,49.21-28.63,101.41-42.5,159.94-42.5,90.87,0,165.04,30.56,226.73,93.61,62.23,63.4,92.46,140.68,92.46,236.22,0,63.05-13.54,117.67-41.13,167.02l-.18.35Z\"\n />\n <path fill=\"currentColor\" d=\"M5569.92,278.96h-269.66v1143.74h269.66V278.96Z\"/>\n <path \n fill=\"currentColor\" \n d=\"M6504.78,328.74c-68.7-45.4-148.11-68.37-235.78-68.37s-163.57,19.96-235.61,59.36c-21.61,11.84-42.69,25.44-63.07,40.81v-89.22h-270.22v1151.2h270.22v-436.03c0-154.94,8.78-223.14,15.81-252.11,15.64-61.13,47.44-110.95,96.81-152.65,47.96-40.28,100.49-59.89,160.58-59.89,51.13,0,89.96,11.13,118.95,34.28,28.81,22.79,48.14,58.13,59.56,109.18,4.56,18.37,12.12,70.14,12.12,211.83v545.57h270.21v-583.02c0-146.29-15.28-253.17-46.56-326.67-32.67-76.85-84.33-138.69-153.2-184.27h.18Z\"\n />\n <path \n fill=\"currentColor\" \n d=\"M7728.49,355.19c-21.79-16.14-44.46-30.52-68.02-42.8-75.75-39.64-161-59.81-253.45-59.81-159.59,0-297.92,58.06-411.28,172.6-113.02,114.19-170.49,253.63-170.49,414.48s56.77,304.68,168.73,419.04c112.49,115.07,250.29,173.3,409.35,173.3,89.47,0,173.3-18.94,249.06-56.3,26.19-12.98,51.67-28.07,76.1-45.43v90.68h268.39V0h-268.39v355.37-.17ZM7695.45,1014.01c-27.24,48.59-65.38,86.13-116.36,114.72-51.85,29.11-104.93,43.32-162.58,43.32s-107.92-14.03-157.31-43.15c-49.56-28.94-87.88-68.76-117.58-121.38-29.88-52.97-44.29-106.64-44.29-164.18s14.41-111.73,43.94-164c29.17-51.92,67.32-91.03,116.35-119.45,49.22-28.59,101.42-42.45,159.95-42.45,90.87,0,165.04,30.52,226.73,93.49,62.22,63.32,92.45,140.5,92.45,235.92,0,62.97-13.53,117.52-41.12,166.81l-.18.35Z\"\n />\n <path \n fill=\"currentColor\" \n d=\"M9021.01,277.76v76.05c-21.79-16.16-44.47-30.56-68.02-42.85-75.75-39.69-161-59.89-253.45-59.89-159.59,0-297.92,58.13-411.29,172.82-113.01,114.33-170.48,253.96-170.48,415.01s56.77,304.89,168.73,419.58c112.49,115.21,250.28,173.52,409.35,173.52,89.46,0,173.3-18.97,249.06-56.38,26.19-12.99,51.67-28.1,76.1-45.49v89.05h268.39V277.76h-268.39ZM8987.97,1013.47c-27.25,48.65-65.39,86.24-116.36,114.87-51.85,29.15-105.1,43.38-162.58,43.38s-107.92-14.05-157.3-43.21c-49.57-28.98-87.89-68.85-117.59-121.53-29.88-53.04-44.29-106.79-44.29-164.39s14.41-111.88,43.94-164.21c29.17-51.99,67.31-91.15,116.35-119.6,49.22-28.63,101.42-42.5,159.95-42.5,90.87,0,165.04,30.56,226.73,93.61,62.22,63.4,92.45,140.68,92.45,236.22,0,63.05-13.53,117.67-41.13,167.02l-.17.35Z\"\n />\n <path fill=\"currentColor\" d=\"M3927.32,519.82c0-140.11,112.99-241.01,251.96-241.01h302.69V0h-302.69c-284.39,0-515.59,233.28-515.59,519.82v902.88h263.81v-445.28h431.9v-265.98h-431.9v-191.62h-.18Z\"/>\n <path fill=\"currentColor\" d=\"M4745.61,519.82c0-140.11,112.99-241.01,251.95-241.01h302.7V0h-302.7c-284.38,0-515.59,233.28-515.59,519.82v902.88h263.82v-445.28h431.89v-265.98h-431.89v-191.62h-.18Z\"/>\n </svg>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h, H as Host, a as getElement } from './index-C4WBekD2.js';
1
+ import { r as registerInstance, h, H as Host, a as getElement } from './index-CYq0zyKH.js';
2
2
 
3
3
  const afHeadingCss = ":host{display:block}.heading{margin:0;padding:0;font-family:var(--typography-headingfont, 'NeuSans', Arial, sans-serif);font-weight:var(--font-weight-regular, 400);color:var(--af-typography-heading-primary, var(--colour-brand-inkwell, #14343b));letter-spacing:var(--letter-spacing-heading, -0.02em)}.align-inherit{text-align:var(--af-text-align, left)}.align-left{text-align:left}.align-center{text-align:center}.align-right{text-align:right}.level-xl{font-size:var(--font-size-heading-xl-fluid, clamp(50px, 3.31vw + 37.57px, 80px));line-height:var(--line-height-heading-tight, 1)}.level-1{font-size:var(--font-size-heading-1-fluid, clamp(38px, 1.99vw + 30.54px, 56px));line-height:var(--line-height-heading-tight, 1)}.level-2{font-size:var(--font-size-heading-2-fluid, clamp(32px, 1.33vw + 27.03px, 44px));line-height:var(--line-height-heading-tight, 1)}.level-3{font-size:var(--font-size-heading-3-fluid, clamp(25px, 0.99vw + 21.27px, 34px));line-height:var(--line-height-heading-tight, 1)}.level-4{font-size:var(--font-size-heading-4-fluid, clamp(20px, 0.44vw + 18.34px, 24px));line-height:var(--line-height-heading-normal, 1.1)}@media (min-width: 768px){.level-4{line-height:var(--line-height-heading-relaxed, 1.2)}}.level-5{font-size:var(--font-size-heading-5-fluid, clamp(18px, 0.22vw + 17.17px, 20px));line-height:var(--line-height-heading-normal, 1.1)}@media (min-width: 768px){.level-5{line-height:var(--line-height-heading-relaxed, 1.2)}}";
4
4
 
@@ -275,7 +275,7 @@ const AfNavbar = class {
275
275
  }
276
276
  render() {
277
277
  const hasDropdown = this.activeDropdown !== null;
278
- return (h(Host, { key: '78bb68495b077735b93558eb2ff3c7a5368c95ba', class: { 'has-dropdown-open': hasDropdown } }, h("div", { key: 'd295d9865e936a9e10f2a552658265b5bfff2509', class: `navbar-spacer${this.theme ? ` theme-${this.theme}` : ''}` }), h("nav", { key: '7a2f7ea2a7ac704d5a4854ed8bde9ec4186b7a48', class: "navbar-container" }, h("div", { key: '796c3fbcdc5b93ac2ea756f400900050a4e68904', class: "navbar theme-white" }, h("div", { key: '4f470bd5ca1c24f2de9a051c049ca0f3a6d343d7', class: "navbar-left" }, h("div", { key: '0ff19f610a2dfc60535ca601187214fd9184706c', class: "logo" }, h("slot", { key: 'b62680fa9641835e96c0975aa8b53289a4c331be', name: "logo" }, this.showDefaultLogo && h("af-logo", { key: '5acf4cce6d2b59ca3f08cb112aa53608ff92d3d7' }))), h("button", { key: '2fae1551b462c43388ef570620e2b6356d176724', class: "mobile-menu-toggle", onClick: this.toggleMobileMenu, "aria-label": "Toggle navigation menu", "aria-expanded": this.mobileMenuOpen ? 'true' : 'false' }, this.mobileMenuOpen ? (h("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor" }, h("path", { d: "M18 6L6 18M6 6l12 12", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }))) : (h("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor" }, h("path", { d: "M3 12h18M3 6h18M3 18h18", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" })))), h("div", { key: '847fa6e696769da5ce2d166e4298bbf35acdffec', class: `nav-links ${this.mobileMenuOpen ? 'mobile-open' : ''}` }, h("slot", { key: '79774a3987661ff611090741b8d0f598a5cbc1c1', name: "start" }))), h("div", { key: '18c965fe437fc54f293d5127af13d94d83e212d3', class: `navbar-right ${this.mobileMenuOpen ? 'mobile-open' : ''}` }, h("div", { key: '664c29f5d0cd01b493ae8bf9b430be34fd135c5c', class: "nav-actions" }, h("slot", { key: 'c94f3e8b1092d4e6891a77a1714470be7fa265d8', name: "end" })), h("div", { key: '2f598ff355d1cf5662a7246434eeb02af034da7c', class: "nav-button" }, h("slot", { key: 'cda81abe6c63c56270926015cb389e4fe6735d22', name: "button" })))), h("div", { key: 'e551f820e91cca9ae401bd0f514e35b77af896d0', class: `dropdown-container ${hasDropdown ? 'is-open' : ''}` }, h("div", { key: '1253fb594e9db19bb9b79eb3f5d0e1788f728c3d', class: "dropdown-panel theme-white" }, h("slot", { key: 'b134d4150908a4d3bb7d77ba5d80246bbc709b35', name: "dropdowns" })))), h("div", { key: '40c2c6de6f661f89a9746ab55a5be2d68a9ad5a8', class: `mobile-menu-panel theme-white ${this.mobileMenuOpen ? 'is-open' : ''}` }, h("div", { key: '41a56f4f9b05d819cf0e65f022e5be85d8481361', class: "mobile-button-container" }, h("slot", { key: 'f4b70499d11fb68c92855020b7d1efa97d3dce3a', name: "mobile-button" }, h("slot", { key: '653ca252d1a159891838cba8b9fc1c0bbb9cd348', name: "button" }))), h("div", { key: 'e1e85dd0bba34a4e335792ec2382a4fa94ae79c8', class: "mobile-menu-content" }, h("slot", { key: '1d9ca44862dc2bd2fc4bfcdf3384df0e8f26bc80', name: "mobile-menu" })))));
278
+ return (h(Host, { key: '78bb68495b077735b93558eb2ff3c7a5368c95ba', class: { 'has-dropdown-open': hasDropdown } }, h("div", { key: 'd295d9865e936a9e10f2a552658265b5bfff2509', class: `navbar-spacer${this.theme ? ` theme-${this.theme}` : ''}` }), h("nav", { key: '7a2f7ea2a7ac704d5a4854ed8bde9ec4186b7a48', class: "navbar-container" }, h("div", { key: '796c3fbcdc5b93ac2ea756f400900050a4e68904', class: "navbar theme-white" }, h("div", { key: '4f470bd5ca1c24f2de9a051c049ca0f3a6d343d7', class: "navbar-left" }, h("div", { key: '0ff19f610a2dfc60535ca601187214fd9184706c', class: "logo" }, h("slot", { key: 'b62680fa9641835e96c0975aa8b53289a4c331be', name: "logo" }, this.showDefaultLogo && h("af-logo", { key: '5acf4cce6d2b59ca3f08cb112aa53608ff92d3d7' }))), h("button", { key: '2fae1551b462c43388ef570620e2b6356d176724', class: "mobile-menu-toggle", onClick: this.toggleMobileMenu, "aria-label": "Toggle navigation menu", "aria-expanded": this.mobileMenuOpen ? 'true' : 'false' }, this.mobileMenuOpen ? (h("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor" }, h("path", { d: "M18 6L6 18M6 6l12 12", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }))) : (h("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor" }, h("path", { d: "M3 12h18M3 6h18M3 18h18", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" })))), h("div", { key: '847fa6e696769da5ce2d166e4298bbf35acdffec', class: `nav-links ${this.mobileMenuOpen ? 'mobile-open' : ''}` }, h("slot", { key: '79774a3987661ff611090741b8d0f598a5cbc1c1', name: "start" }))), h("div", { key: '18c965fe437fc54f293d5127af13d94d83e212d3', class: `navbar-right ${this.mobileMenuOpen ? 'mobile-open' : ''}` }, h("div", { key: '664c29f5d0cd01b493ae8bf9b430be34fd135c5c', class: "nav-actions" }, h("slot", { key: 'c94f3e8b1092d4e6891a77a1714470be7fa265d8', name: "end" })), h("div", { key: '2f598ff355d1cf5662a7246434eeb02af034da7c', class: "nav-button" }, h("slot", { key: 'cda81abe6c63c56270926015cb389e4fe6735d22', name: "button" })))), h("div", { key: 'e551f820e91cca9ae401bd0f514e35b77af896d0', class: `dropdown-container ${hasDropdown ? 'is-open' : ''}` }, h("div", { key: '1253fb594e9db19bb9b79eb3f5d0e1788f728c3d', class: "dropdown-panel theme-white" }, h("slot", { key: 'b134d4150908a4d3bb7d77ba5d80246bbc709b35', name: "dropdowns" })))), h("div", { key: '40c2c6de6f661f89a9746ab55a5be2d68a9ad5a8', class: `mobile-menu-panel theme-white ${this.mobileMenuOpen ? 'is-open' : ''}` }, h("div", { key: '8be85b23f99f8556141c48bed691836de2afe129', class: "mobile-button-container" }, h("slot", { key: 'add78c754de721ca09d9295d628993c2708e5cb8', name: "mobile-button" })), h("div", { key: '8f3776c268349b30fbfab8952a640a2e293b6a2f', class: "mobile-menu-content" }, h("slot", { key: '6eb194b51d1b7545178edc762833c63bb73d5483', name: "mobile-menu" })))));
279
279
  }
280
280
  get el() { return getElement(this); }
281
281
  };
@@ -288,7 +288,7 @@ const AfLogo = class {
288
288
  registerInstance(this, hostRef);
289
289
  }
290
290
  render() {
291
- return (h(Host, { key: '3828c961f43e8809c20cc404bac5507dec7677d6' }, h("svg", { key: 'ec8ca511aa4abbe4af8c27a38f3ee077dc2f3e4c', class: "logo-svg", viewBox: "0 0 9290 1432", "aria-label": "Affinda", role: "img" }, h("path", { key: 'ca0e7fa1511f645f1a7f17464695695e97579c95', fill: "currentColor", d: "M1691.17,452.11c-107.93-107.48-250.13-166.09-401.3-163.79h-739.51l-148.18,237.98h892.96c86.83,0,168.39,33.64,230.09,95.09,63.28,63.04,98.26,147.32,98.26,237.45,0,185.03-149.41,335.36-332.92,335.36H385.66c-82.44,0-149.59-67.64-149.59-150.68s67.32-151.75,149.41-154.23h810.17l152.93-237.98H381.44C171.21,656.62,0,832.45,0,1043.52s172.97,388.48,385.66,388.48h904.91c313.76,0,569.17-257.28,569.17-573.34,0-154.22-59.76-298.53-168.4-406.72l-.17.18Z" }), h("path", { key: 'd599087578319b77085e12153cbc73f2735dc018', fill: "currentColor", d: "M3265.12,353.81c-21.8-16.16-44.47-30.56-68.02-42.85-75.76-39.69-161-59.89-253.45-59.89-159.6,0-297.92,58.13-411.29,172.82-113.02,114.33-170.49,253.96-170.49,415.01s56.77,304.89,168.73,419.58c112.49,115.21,250.29,173.52,409.35,173.52,89.47,0,173.31-18.97,249.06-56.38,26.19-12.99,51.68-28.1,76.11-45.49v89.05h268.39V276.36h-268.39v77.45ZM3232.07,1013.47c-27.24,48.65-65.38,86.24-116.35,114.87-51.85,29.15-105.11,43.38-162.58,43.38s-107.92-14.05-157.31-43.21c-49.57-28.98-87.88-68.85-117.59-121.53-29.88-53.04-44.29-106.79-44.29-164.39s14.41-111.88,43.94-164.21c29.18-51.99,67.32-91.15,116.36-119.6,49.21-28.63,101.41-42.5,159.94-42.5,90.87,0,165.04,30.56,226.73,93.61,62.23,63.4,92.46,140.68,92.46,236.22,0,63.05-13.54,117.67-41.13,167.02l-.18.35Z" }), h("path", { key: '13867c603e95dd380f5b1dbda8d83b43e9698a7a', fill: "currentColor", d: "M5569.92,278.96h-269.66v1143.74h269.66V278.96Z" }), h("path", { key: '597a7d5d05d783de2a411c26bbe0a6ae2826e460', fill: "currentColor", d: "M6504.78,328.74c-68.7-45.4-148.11-68.37-235.78-68.37s-163.57,19.96-235.61,59.36c-21.61,11.84-42.69,25.44-63.07,40.81v-89.22h-270.22v1151.2h270.22v-436.03c0-154.94,8.78-223.14,15.81-252.11,15.64-61.13,47.44-110.95,96.81-152.65,47.96-40.28,100.49-59.89,160.58-59.89,51.13,0,89.96,11.13,118.95,34.28,28.81,22.79,48.14,58.13,59.56,109.18,4.56,18.37,12.12,70.14,12.12,211.83v545.57h270.21v-583.02c0-146.29-15.28-253.17-46.56-326.67-32.67-76.85-84.33-138.69-153.2-184.27h.18Z" }), h("path", { key: '75e9b922503b5de37672583656228c77773d639f', fill: "currentColor", d: "M7728.49,355.19c-21.79-16.14-44.46-30.52-68.02-42.8-75.75-39.64-161-59.81-253.45-59.81-159.59,0-297.92,58.06-411.28,172.6-113.02,114.19-170.49,253.63-170.49,414.48s56.77,304.68,168.73,419.04c112.49,115.07,250.29,173.3,409.35,173.3,89.47,0,173.3-18.94,249.06-56.3,26.19-12.98,51.67-28.07,76.1-45.43v90.68h268.39V0h-268.39v355.37-.17ZM7695.45,1014.01c-27.24,48.59-65.38,86.13-116.36,114.72-51.85,29.11-104.93,43.32-162.58,43.32s-107.92-14.03-157.31-43.15c-49.56-28.94-87.88-68.76-117.58-121.38-29.88-52.97-44.29-106.64-44.29-164.18s14.41-111.73,43.94-164c29.17-51.92,67.32-91.03,116.35-119.45,49.22-28.59,101.42-42.45,159.95-42.45,90.87,0,165.04,30.52,226.73,93.49,62.22,63.32,92.45,140.5,92.45,235.92,0,62.97-13.53,117.52-41.12,166.81l-.18.35Z" }), h("path", { key: '553f70980ed227a436001625b2060986b23f83b6', fill: "currentColor", d: "M9021.01,277.76v76.05c-21.79-16.16-44.47-30.56-68.02-42.85-75.75-39.69-161-59.89-253.45-59.89-159.59,0-297.92,58.13-411.29,172.82-113.01,114.33-170.48,253.96-170.48,415.01s56.77,304.89,168.73,419.58c112.49,115.21,250.28,173.52,409.35,173.52,89.46,0,173.3-18.97,249.06-56.38,26.19-12.99,51.67-28.1,76.1-45.49v89.05h268.39V277.76h-268.39ZM8987.97,1013.47c-27.25,48.65-65.39,86.24-116.36,114.87-51.85,29.15-105.1,43.38-162.58,43.38s-107.92-14.05-157.3-43.21c-49.57-28.98-87.89-68.85-117.59-121.53-29.88-53.04-44.29-106.79-44.29-164.39s14.41-111.88,43.94-164.21c29.17-51.99,67.31-91.15,116.35-119.6,49.22-28.63,101.42-42.5,159.95-42.5,90.87,0,165.04,30.56,226.73,93.61,62.22,63.4,92.45,140.68,92.45,236.22,0,63.05-13.53,117.67-41.13,167.02l-.17.35Z" }), h("path", { key: '10621f01848f0bee47d61ceb98c46cd0b76ed710', fill: "currentColor", d: "M3927.32,519.82c0-140.11,112.99-241.01,251.96-241.01h302.69V0h-302.69c-284.39,0-515.59,233.28-515.59,519.82v902.88h263.81v-445.28h431.9v-265.98h-431.9v-191.62h-.18Z" }), h("path", { key: 'ad7ae1ac53d954f6bc56af8819246f10d27b8074', fill: "currentColor", d: "M4745.61,519.82c0-140.11,112.99-241.01,251.95-241.01h302.7V0h-302.7c-284.38,0-515.59,233.28-515.59,519.82v902.88h263.82v-445.28h431.89v-265.98h-431.89v-191.62h-.18Z" }))));
291
+ return (h(Host, { key: '6e315eac8e083807fb987237502d1bdaa06a579c' }, h("svg", { key: 'a837202d331f867eecd017d388d952cdbd09c0b0', class: "logo-svg", viewBox: "0 0 9290 1432", "aria-label": "Affinda", role: "img" }, h("path", { key: '425b4957d10c5427134caa67834ea5f306d23d14', fill: "currentColor", d: "M1691.17,452.11c-107.93-107.48-250.13-166.09-401.3-163.79h-739.51l-148.18,237.98h892.96c86.83,0,168.39,33.64,230.09,95.09,63.28,63.04,98.26,147.32,98.26,237.45,0,185.03-149.41,335.36-332.92,335.36H385.66c-82.44,0-149.59-67.64-149.59-150.68s67.32-151.75,149.41-154.23h810.17l152.93-237.98H381.44C171.21,656.62,0,832.45,0,1043.52s172.97,388.48,385.66,388.48h904.91c313.76,0,569.17-257.28,569.17-573.34,0-154.22-59.76-298.53-168.4-406.72l-.17.18Z" }), h("path", { key: '3dbe122502fce7882967a8a77a04b38e61a9d30f', fill: "currentColor", d: "M3265.12,353.81c-21.8-16.16-44.47-30.56-68.02-42.85-75.76-39.69-161-59.89-253.45-59.89-159.6,0-297.92,58.13-411.29,172.82-113.02,114.33-170.49,253.96-170.49,415.01s56.77,304.89,168.73,419.58c112.49,115.21,250.29,173.52,409.35,173.52,89.47,0,173.31-18.97,249.06-56.38,26.19-12.99,51.68-28.1,76.11-45.49v89.05h268.39V276.36h-268.39v77.45ZM3232.07,1013.47c-27.24,48.65-65.38,86.24-116.35,114.87-51.85,29.15-105.11,43.38-162.58,43.38s-107.92-14.05-157.31-43.21c-49.57-28.98-87.88-68.85-117.59-121.53-29.88-53.04-44.29-106.79-44.29-164.39s14.41-111.88,43.94-164.21c29.18-51.99,67.32-91.15,116.36-119.6,49.21-28.63,101.41-42.5,159.94-42.5,90.87,0,165.04,30.56,226.73,93.61,62.23,63.4,92.46,140.68,92.46,236.22,0,63.05-13.54,117.67-41.13,167.02l-.18.35Z" }), h("path", { key: 'e0f15cb4025c3fadcc740fc8f4b47e240f4497c3', fill: "currentColor", d: "M5569.92,278.96h-269.66v1143.74h269.66V278.96Z" }), h("path", { key: 'b7054c3fe019f0c42e8d56338c6034d9843a4a05', fill: "currentColor", d: "M6504.78,328.74c-68.7-45.4-148.11-68.37-235.78-68.37s-163.57,19.96-235.61,59.36c-21.61,11.84-42.69,25.44-63.07,40.81v-89.22h-270.22v1151.2h270.22v-436.03c0-154.94,8.78-223.14,15.81-252.11,15.64-61.13,47.44-110.95,96.81-152.65,47.96-40.28,100.49-59.89,160.58-59.89,51.13,0,89.96,11.13,118.95,34.28,28.81,22.79,48.14,58.13,59.56,109.18,4.56,18.37,12.12,70.14,12.12,211.83v545.57h270.21v-583.02c0-146.29-15.28-253.17-46.56-326.67-32.67-76.85-84.33-138.69-153.2-184.27h.18Z" }), h("path", { key: 'abb1e667124d30d807c41ab1cd446c4568990a18', fill: "currentColor", d: "M7728.49,355.19c-21.79-16.14-44.46-30.52-68.02-42.8-75.75-39.64-161-59.81-253.45-59.81-159.59,0-297.92,58.06-411.28,172.6-113.02,114.19-170.49,253.63-170.49,414.48s56.77,304.68,168.73,419.04c112.49,115.07,250.29,173.3,409.35,173.3,89.47,0,173.3-18.94,249.06-56.3,26.19-12.98,51.67-28.07,76.1-45.43v90.68h268.39V0h-268.39v355.37-.17ZM7695.45,1014.01c-27.24,48.59-65.38,86.13-116.36,114.72-51.85,29.11-104.93,43.32-162.58,43.32s-107.92-14.03-157.31-43.15c-49.56-28.94-87.88-68.76-117.58-121.38-29.88-52.97-44.29-106.64-44.29-164.18s14.41-111.73,43.94-164c29.17-51.92,67.32-91.03,116.35-119.45,49.22-28.59,101.42-42.45,159.95-42.45,90.87,0,165.04,30.52,226.73,93.49,62.22,63.32,92.45,140.5,92.45,235.92,0,62.97-13.53,117.52-41.12,166.81l-.18.35Z" }), h("path", { key: '8cd032a3cb346e1e2bf41b33a8c888d366a9c634', fill: "currentColor", d: "M9021.01,277.76v76.05c-21.79-16.16-44.47-30.56-68.02-42.85-75.75-39.69-161-59.89-253.45-59.89-159.59,0-297.92,58.13-411.29,172.82-113.01,114.33-170.48,253.96-170.48,415.01s56.77,304.89,168.73,419.58c112.49,115.21,250.28,173.52,409.35,173.52,89.46,0,173.3-18.97,249.06-56.38,26.19-12.99,51.67-28.1,76.1-45.49v89.05h268.39V277.76h-268.39ZM8987.97,1013.47c-27.25,48.65-65.39,86.24-116.36,114.87-51.85,29.15-105.1,43.38-162.58,43.38s-107.92-14.05-157.3-43.21c-49.57-28.98-87.89-68.85-117.59-121.53-29.88-53.04-44.29-106.79-44.29-164.39s14.41-111.88,43.94-164.21c29.17-51.99,67.31-91.15,116.35-119.6,49.22-28.63,101.42-42.5,159.95-42.5,90.87,0,165.04,30.56,226.73,93.61,62.22,63.4,92.45,140.68,92.45,236.22,0,63.05-13.53,117.67-41.13,167.02l-.17.35Z" }), h("path", { key: '3087e75a044032e2bf6ff1a49f78d18adb3a0688', fill: "currentColor", d: "M3927.32,519.82c0-140.11,112.99-241.01,251.96-241.01h302.69V0h-302.69c-284.39,0-515.59,233.28-515.59,519.82v902.88h263.81v-445.28h431.9v-265.98h-431.9v-191.62h-.18Z" }), h("path", { key: '3118ef825a1bc7640b1a49abddc5f0b6f1743bf0', fill: "currentColor", d: "M4745.61,519.82c0-140.11,112.99-241.01,251.95-241.01h302.7V0h-302.7c-284.38,0-515.59,233.28-515.59,519.82v902.88h263.82v-445.28h431.89v-265.98h-431.89v-191.62h-.18Z" }))));
292
292
  }
293
293
  };
294
294
  AfLogo.style = afLogoCss;
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h, H as Host, a as getElement } from './index-C4WBekD2.js';
1
+ import { r as registerInstance, h, H as Host, a as getElement } from './index-CYq0zyKH.js';
2
2
 
3
3
  const afHeroCss = ".sc-af-hero-h{display:block;position:relative;width:100%;--af-hero-image-lift:-260px;--af-hero-image-min-height:360px}.hero__section.sc-af-hero{position:relative;overflow:hidden}.hero__paperclip.sc-af-hero{position:absolute;top:50%;right:0;transform:translateY(-50%);pointer-events:none;z-index:0;width:655px;height:754px}@media (max-width: 991px){.hero__paperclip.sc-af-hero{width:480px;height:552px}}@media (max-width: 767px){.hero__paperclip.sc-af-hero{display:none}}.hero__inner.sc-af-hero{position:relative;z-index:1;padding-bottom:40px}.hero--pad-default.sc-af-hero-h .hero__inner.sc-af-hero{padding-top:124px}.hero--pad-loose.sc-af-hero-h .hero__inner.sc-af-hero{padding-top:164px}.hero--inkwell-centered.hero--pad-default.sc-af-hero-h .hero__inner.sc-af-hero{padding-top:180px}.hero__grid.sc-af-hero{display:grid;grid-template-columns:5fr 7fr;gap:40px;align-items:center}.hero--soft-clay-illustration.sc-af-hero-h .hero__grid.sc-af-hero,.hero--mist-green-illustration.sc-af-hero-h .hero__grid.sc-af-hero{grid-template-columns:1fr auto;gap:48px}.hero--inkwell-illustration.sc-af-hero-h .hero__grid.sc-af-hero{grid-template-columns:1fr 1fr}.hero__copy.sc-af-hero{padding-left:16px}.hero--inkwell-photo.hero--pad-loose.sc-af-hero-h .hero__copy.sc-af-hero{padding-bottom:120px}.hero--inkwell-centered.sc-af-hero-h .hero__copy.sc-af-hero{padding-left:0;text-align:center}.hero__badge.sc-af-hero:not(:has(*)){display:none}.hero__badge.sc-af-hero:has(*){margin-bottom:16px}.hero__copy.sc-af-hero-s>[slot='badge'],.hero__copy .sc-af-hero-s>[slot='badge']{display:inline-block}.hero__buttons.sc-af-hero{margin-top:32px}.hero__buttons.sc-af-hero:empty{display:none}.hero--inkwell-centered.sc-af-hero-h .hero__buttons.sc-af-hero{display:flex;justify-content:center}.sc-af-hero-h{--af-hero-blob-mask:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA3NDEgOTQwIj48cGF0aCBkPSJNMTcwLjA2MyAxODEuOTQ1QzIzNC4xNTYgMzAuOTUxNCA0MDguNTE4IC0zOS40OTU1IDU1OS41MTIgMjQuNTk3NUM3MTAuNTA2IDg4LjY5MDQgNzgwLjk1MiAyNjMuMDUzIDcxNi44NTkgNDE0LjA0Nkw1NzAuODQ3IDc1OC4wMzFDNTA2Ljc1NCA5MDkuMDI0IDMzMi4zOTIgOTc5LjQ3MSAxODEuMzk4IDkxNS4zNzhDMzAuNDA0NSA4NTEuMjg1IC00MC4wNDI0IDY3Ni45MjMgMjQuMDUwNiA1MjUuOTI5TDE3MC4wNjMgMTgxLjk0NVoiIGZpbGw9IiMwMDAiLz48L3N2Zz4=');--af-hero-blob-mask-mobile:url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 1024 768\"><path fill=\"%23000\" d=\"M1024 0H384A384 384 0 0 0 384 768H1024V0Z\"/></svg>')}.hero__image.sc-af-hero{min-height:var(--af-hero-image-min-height);overflow:visible;margin-top:var(--af-hero-image-lift);position:relative;z-index:1}.hero__image--masked.sc-af-hero-s>img,.hero__image--masked .sc-af-hero-s>img,.hero__image--masked.sc-af-hero-s>picture img,.hero__image--masked .sc-af-hero-s>picture img,.hero__image--masked.sc-af-hero-s>.af-hero-image,.hero__image--masked .sc-af-hero-s>.af-hero-image{display:block;width:100%;height:auto;-webkit-mask-image:var(--af-hero-blob-mask);mask-image:var(--af-hero-blob-mask);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;mask-mode:alpha}.hero__image--masked.sc-af-hero img.sc-af-hero{-webkit-mask-image:var(--af-hero-blob-mask);mask-image:var(--af-hero-blob-mask);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;mask-mode:alpha}.hero__illustration.sc-af-hero{flex:0 0 auto;width:100%;max-width:432px;line-height:0;justify-self:end}.hero__illustration.sc-af-hero-s>svg,.hero__illustration .sc-af-hero-s>svg,.hero__illustration.sc-af-hero-s>img,.hero__illustration .sc-af-hero-s>img{width:100%;height:auto;display:block;border-radius:16px}.hero--inkwell-illustration.sc-af-hero-h .hero__illustration.sc-af-hero{max-width:540px}.hero__logos.sc-af-hero{position:relative;z-index:2}.hero__logos.sc-af-hero:not(:has(*)){display:none}.hero--inkwell-photo.sc-af-hero-h .hero__logos.sc-af-hero:has(*){margin-top:-240px;padding-top:48px;padding-bottom:48px;background:var(--af-background-base, var(--colour-brand-inkwell, #14343b));border-top:1px solid\n var(--af-background-border-subtle, var(--colour-inkwell-450, #203e45))}@media (max-width: 991px){.hero--pad-default.sc-af-hero-h .hero__inner.sc-af-hero,.hero--pad-loose.sc-af-hero-h .hero__inner.sc-af-hero{padding-top:112px}.hero--inkwell-centered.hero--pad-default.sc-af-hero-h .hero__inner.sc-af-hero{padding-top:144px}.hero__grid.sc-af-hero{grid-template-columns:1fr;gap:32px}.hero--soft-clay-illustration.sc-af-hero-h .hero__grid.sc-af-hero,.hero--mist-green-illustration.sc-af-hero-h .hero__grid.sc-af-hero,.hero--inkwell-illustration.sc-af-hero-h .hero__grid.sc-af-hero{grid-template-columns:1fr}.hero__copy.sc-af-hero{padding-left:0;padding-bottom:0}.hero__illustration.sc-af-hero{max-width:360px;margin-inline:auto;justify-self:center}.hero__image.sc-af-hero{margin-top:0;min-height:auto}.sc-af-hero-h.hero--inkwell-photo .hero__image--masked.sc-af-hero-s>img,.hero__image--masked .sc-af-hero-s>img,.hero--inkwell-photo.sc-af-hero-h .hero__image--masked.sc-af-hero img.sc-af-hero{-webkit-mask-image:var(--af-hero-blob-mask-mobile);mask-image:var(--af-hero-blob-mask-mobile)}.hero--inkwell-photo.sc-af-hero-h .hero__logos.sc-af-hero:has(*){margin-top:24px;padding-top:32px;padding-bottom:32px;background:transparent;border-top:none}}";
4
4
 
@@ -77,12 +77,12 @@ const AfHero = class {
77
77
  const hasIllustration = v === 'inkwell-illustration' ||
78
78
  v === 'soft-clay-illustration' ||
79
79
  v === 'mist-green-illustration';
80
- return (h(Host, { key: '6e8e522c6593a79fbb93eaf421c6b3f41a2072f5', class: {
80
+ return (h(Host, { key: '0a992496d31ad5bfbc3d987f8e14d4947ed4634a', class: {
81
81
  [`hero--${v}`]: true,
82
82
  [`hero--pad-${this.topPad}`]: true,
83
83
  [`hero--theme-${this.theme}`]: true,
84
84
  'hero--float-navbar': this.resolvedFloatNavbar,
85
- } }, h("af-section", { key: 'dc6181658d53a8c7166d3f090df9666d35310338', theme: this.theme, padding: "none", container: false, class: "hero__section" }, centered && (h("div", { key: 'b8357ea1cc08dafa3a3f5e4cd8c545bef1e3df1c', class: "hero__paperclip", "aria-hidden": "true" }, h("slot", { key: 'da4b0dcb83e6e8c09b9962ba7d0c09e02f6721c5', name: "paperclip" }))), h("af-container", { key: '0dbffc963a56e53ed7206b59cccfd74f5bd792ee', class: "hero__inner" }, centered ? (this.renderCopy()) : (h("div", { class: "hero__grid" }, this.renderCopy(), hasImage && this.renderPhoto(), hasIllustration && this.renderIllustration()))), h("div", { key: 'd4316dbc5ba954ce2a52d73dfb73575b77f394db', class: "hero__logos" }, h("slot", { key: 'd9ff55a2c238d5db322aef90cb28006d91f7dffc', name: "logos-below" })))));
85
+ } }, h("af-section", { key: 'e7fb9c00edf9df24b3a6f31ec73153f076623b80', theme: this.theme, padding: "none", container: false, class: "hero__section" }, centered && (h("div", { key: 'c11031876d2de4e7bdec1ff11ff05488f91e1b95', class: "hero__paperclip", "aria-hidden": "true" }, h("slot", { key: 'e374f0ebeb82e4d1f5f0be91a0067a2d6c0dc5ec', name: "paperclip" }))), h("af-container", { key: '516ef86f39140df14422abd4dc2688d5afe95327', class: "hero__inner" }, centered ? (this.renderCopy()) : (h("div", { class: "hero__grid" }, this.renderCopy(), hasImage && this.renderPhoto(), hasIllustration && this.renderIllustration()))), h("div", { key: '946d5bd24bba79faa0aa11af2313538d9131acdc', class: "hero__logos" }, h("slot", { key: '3e6f93398f642963bf38f95dbd9c037f26dcf8f9', name: "logos-below" })))));
86
86
  }
87
87
  get el() { return getElement(this); }
88
88
  };
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h, H as Host } from './index-C4WBekD2.js';
1
+ import { r as registerInstance, h, H as Host } from './index-CYq0zyKH.js';
2
2
 
3
3
  const afIconBoxCss = ".sc-af-icon-box-h{display:inline-block}.icon-box.sc-af-icon-box{display:inline-flex;align-items:center;justify-content:center;border-radius:16px;background-color:var(--af-background-contrast, var(--colour-brand-mist-green, #c6d5d1));color:var(--af-background-icon-default, var(--colour-brand-inkwell, #14343b));flex-shrink:0}.icon-box--size-small.sc-af-icon-box{width:48px;height:48px;padding:14px;border-radius:12px}.icon-box--size-default.sc-af-icon-box{width:64px;height:64px;padding:12px;border-radius:16px}.icon-box--size-large.sc-af-icon-box{width:80px;height:80px;padding:16px;border-radius:20px}";
4
4
 
@@ -19,7 +19,7 @@ const AfIconBox = class {
19
19
  [`icon-box--size-${this.size}`]: true,
20
20
  };
21
21
  const iconSize = this.size === 'small' ? 20 : this.size === 'large' ? 48 : 40;
22
- return (h(Host, { key: '59cf379ff62d3a5ed7fd7398f240976a023d1f8a' }, h("div", { key: '9fc4e502df8da3cf2112702cd2216a8c7a03a21f', class: containerClasses }, h("af-icon", { key: '8bc89de5589f531829a8377862c7b1bda4c7ce60', name: this.icon, size: iconSize }))));
22
+ return (h(Host, { key: 'b224f522fa4db3081cb97fbe88aec0a4f4198d61' }, h("div", { key: '99ee87a2104918c6d3855cc5d7e90dcbda2d9638', class: containerClasses }, h("af-icon", { key: '778170ce3b08ca6b34289cc6bd1d49ade9583bc1', name: this.icon, size: iconSize }))));
23
23
  }
24
24
  };
25
25
  AfIconBox.style = afIconBoxCss;
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h, H as Host } from './index-C4WBekD2.js';
1
+ import { r as registerInstance, h, H as Host } from './index-CYq0zyKH.js';
2
2
 
3
3
  const afIconButtonCss = ":host{display:inline-block}:host([variant=\"secondary\"]){color:var(--af-button-secondary-icon, var(--af-typography-body-dark, var(--colour-brand-inkwell, #14343B)))}:host([variant=\"primary\"]){color:var(--af-button-primary-icon, var(--colour-brand-inkwell, #14343B))}:host([variant=\"tertiary\"]){color:var(--af-button-ghost-icon, var(--colour-brand-inkwell, #14343B))}.icon-button{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;transition:background-color var(--motion-duration-base, 200ms) var(--motion-easing-standard, cubic-bezier(0.4, 0, 0.2, 1)),\n border-color var(--motion-duration-base, 200ms) var(--motion-easing-standard, cubic-bezier(0.4, 0, 0.2, 1)),\n color var(--motion-duration-base, 200ms) var(--motion-easing-standard, cubic-bezier(0.4, 0, 0.2, 1)),\n opacity var(--motion-duration-base, 200ms) var(--motion-easing-standard, cubic-bezier(0.4, 0, 0.2, 1)),\n transform var(--motion-duration-fast, 150ms) var(--motion-easing-standard, cubic-bezier(0.4, 0, 0.2, 1));border:1px solid transparent;box-sizing:border-box;flex-shrink:0;text-decoration:none;padding:0;will-change:transform}@media (prefers-reduced-motion: reduce){.icon-button{transition-duration:0.01ms}}.size-large{width:72px;height:72px;padding:24px}.size-large .icon{width:24px;height:24px}.size-medium{width:48px;height:48px;padding:12px}.size-medium .icon{width:24px;height:24px}.size-small{width:36px;height:36px;padding:8px}.size-small .icon{width:20px;height:20px}.icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:inherit}.icon ::slotted(*){width:100%;height:100%;color:inherit}.variant-primary{background:var(--af-button-primary-bg, var(--colour-brand-ice, #A6FFFB));border-color:var(--af-button-primary-stroke, var(--colour-brand-inkwell, #14343B));color:var(--af-button-primary-text, var(--colour-brand-inkwell, #14343B))}.variant-primary:hover:not(.disabled){background:var(--af-button-primary-bg-hover, #95e6e2)}.variant-primary:active:not(.disabled){background:var(--af-button-primary-bg-hover, #95e6e2);transform:translateY(1px)}.variant-secondary{background:var(--af-button-secondary-bg, transparent);border-color:var(--af-button-secondary-stroke, currentColor);color:var(--af-button-secondary-text, var(--af-typography-body-dark, var(--colour-brand-inkwell, #14343B)))}.variant-secondary:hover:not(.disabled){background:var(--af-button-secondary-bg-hover, rgba(128, 128, 128, 0.1))}.variant-secondary:active:not(.disabled){background:var(--af-button-secondary-bg-hover, rgba(128, 128, 128, 0.1));transform:translateY(1px)}.variant-tertiary{background:transparent;border-color:transparent;color:var(--af-button-ghost-text, var(--colour-brand-inkwell, #14343B))}.variant-tertiary:hover:not(.disabled){opacity:0.8}.variant-tertiary:active:not(.disabled){opacity:0.6}.disabled{opacity:0.4;cursor:not-allowed;pointer-events:none}button.icon-button{background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer}button.icon-button.variant-primary{background:var(--af-button-primary-bg, var(--colour-brand-ice, #A6FFFB));border:1px solid var(--af-button-primary-stroke, var(--colour-brand-inkwell, #14343B))}button.icon-button.variant-secondary{background:var(--af-button-secondary-bg, transparent);border:1px solid var(--af-button-secondary-stroke, currentColor);color:var(--af-button-secondary-text, var(--af-typography-body-dark, var(--colour-brand-inkwell, #14343B)))}button.icon-button.variant-tertiary{background:transparent;border:1px solid transparent}";
4
4
 
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h, H as Host } from './index-C4WBekD2.js';
1
+ import { r as registerInstance, h, H as Host } from './index-CYq0zyKH.js';
2
2
 
3
3
  const afIconTextCss = ".sc-af-icon-text-h{display:block}.icon-text.sc-af-icon-text{display:flex;width:100%}.icon-text--vertical.sc-af-icon-text{flex-direction:column;gap:24px;align-items:flex-start}.icon-text--horizontal.sc-af-icon-text{flex-direction:row;gap:20px;align-items:flex-start}.icon-text__icon.sc-af-icon-text{flex-shrink:0}.icon-text__lockup.sc-af-icon-text{flex:1;min-width:0}@media (max-width: 768px){.icon-text--vertical.sc-af-icon-text{gap:20px}.icon-text--horizontal.sc-af-icon-text{gap:16px}}";
4
4
 
@@ -25,7 +25,7 @@ const AfIconText = class {
25
25
  'icon-text': true,
26
26
  [`icon-text--${this.orientation}`]: true,
27
27
  };
28
- return (h(Host, { key: '439c52c428eb8bdd4a1d89143a3e1f3b1f1ae272' }, h("div", { key: 'ff0edf1e55f225abc3a31e928d08388cae6209e2', class: containerClasses }, h("af-icon-box", { key: '8a88ed7babd257ce508c90139b3d431b80aa9d32', icon: this.icon, size: this.iconSize, class: "icon-text__icon" }), h("af-typography-lockup", { key: 'b1d4722558f9f27daccfeb7e5efe954f0af3ece0', headingSize: this.headingSize, textAlignment: "left", buttonAlignment: "vertical", class: "icon-text__lockup" }, h("slot", { key: '02ab65533f8d40c24b46082271b06c7acac914db' }), h("span", { key: '3d0556c8b0f5b3d262c44efcb271541d74f46535', slot: "description" }, h("slot", { key: '155f5bfba6ac9a9e58ba3b4bec1d736b995c327d', name: "description" })), h("span", { key: '8fb65696a03bed3776953fc1b51c077b12030837', slot: "buttons" }, h("slot", { key: 'bc30a8813ec47e8a265282f841e30bbabfe1f06f', name: "buttons" }))))));
28
+ return (h(Host, { key: 'e00ca808eec26f88a177d91373d749908f3b2b5a' }, h("div", { key: 'c2709624720dd8775474c7c5be41ab93291bbe83', class: containerClasses }, h("af-icon-box", { key: '68feda331b07eefd23f10a4edf25b935e0298cf8', icon: this.icon, size: this.iconSize, class: "icon-text__icon" }), h("af-typography-lockup", { key: '56ee1da85e0808e3e12033abc7f0c74786b0b099', headingSize: this.headingSize, textAlignment: "left", buttonAlignment: "vertical", class: "icon-text__lockup" }, h("slot", { key: '056bef68d2251e514527cd49cbe2e8623556cc2a' }), h("span", { key: 'fb3379b7494d73b306a10f792f403ea1da719067', slot: "description" }, h("slot", { key: '7d06d6f52096fd80343823bd406f5a80d0035eaa', name: "description" })), h("span", { key: '9b4e20bc667fe53312297bdea1b5a96706dd3521', slot: "buttons" }, h("slot", { key: 'dac8dfcef4cb3f1f3d7caacb6ef40d29e52b53fe', name: "buttons" }))))));
29
29
  }
30
30
  };
31
31
  AfIconText.style = afIconTextCss;
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h, H as Host } from './index-C4WBekD2.js';
1
+ import { r as registerInstance, h, H as Host } from './index-CYq0zyKH.js';
2
2
 
3
3
  /**
4
4
  * Auto-generated inline SVG icon data
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h, H as Host } from './index-C4WBekD2.js';
1
+ import { r as registerInstance, h, H as Host } from './index-CYq0zyKH.js';
2
2
 
3
3
  const afIllustratedCardCss = ".sc-af-illustrated-card-h{display:flex;flex-direction:column;width:100%;--af-card-padding:0;--af-card-gap:0}.illustrated-card.sc-af-illustrated-card{min-height:400px}.illustrated-card__content.sc-af-illustrated-card{position:relative;display:flex;flex-direction:column;box-sizing:border-box;z-index:1}.illustrated-card--breakpoint-desktop.illustrated-card--size-default.sc-af-illustrated-card .illustrated-card__content.sc-af-illustrated-card{padding:40px 32px 12px 32px}.illustrated-card--breakpoint-desktop.illustrated-card--size-large.sc-af-illustrated-card .illustrated-card__content.sc-af-illustrated-card{padding:40px 40px 0 40px}.illustrated-card--breakpoint-mobile.sc-af-illustrated-card .illustrated-card__content.sc-af-illustrated-card{padding:32px 24px 12px 24px}.illustrated-card__illustration-area.sc-af-illustrated-card{position:relative;width:100%;flex:1;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:24px;box-sizing:border-box}.illustrated-card--breakpoint-desktop.sc-af-illustrated-card .illustrated-card__illustration-area.sc-af-illustrated-card{min-height:160px}.illustrated-card--breakpoint-mobile.sc-af-illustrated-card .illustrated-card__illustration-area.sc-af-illustrated-card{min-height:192px}.illustrated-card__illustration-placeholder.sc-af-illustrated-card{width:100%;height:100%;min-height:120px;display:flex;align-items:center;justify-content:center}.illustrated-card__illustration-area.sc-af-illustrated-card-s>img,.illustrated-card__illustration-area .sc-af-illustrated-card-s>img,.illustrated-card__illustration-area.sc-af-illustrated-card img.sc-af-illustrated-card{max-width:100%;max-height:200px;height:auto;object-fit:contain;border-radius:var(--radius-lg, 20px)}.illustrated-card.sc-af-illustrated-card af-typography-lockup.sc-af-illustrated-card{--colour-typography-heading-primary:var(--af-typography-heading-primary);--colour-typography-body-default:var(--af-typography-body-default)}";
4
4
 
@@ -25,7 +25,7 @@ const AfIllustratedCard = class {
25
25
  [`illustrated-card--breakpoint-${this.breakpoint}`]: true,
26
26
  [`illustrated-card--size-${this.cardSize}`]: true,
27
27
  };
28
- return (h(Host, { key: 'ef2bef2685ff1c476d6cdffcac8dba7d8bb0f9e9' }, h("div", { key: '7a9fab8ac214d2715b2f96186e4cbb2978b53137', class: wrapperClasses }, h("af-card", { key: '9967cb01f648bb29b33743d50f733c21883ae6fd', theme: this.theme }, h("div", { key: 'eb791121145c80101fdb5109636a990de735074f', class: "illustrated-card__content" }, h("af-typography-lockup", { key: 'f5f39cc0cfa368df8cd8f44b4f259af6dcf25fdb', headingSize: 3, breakpoint: this.breakpoint, textAlignment: "left", buttonLayout: "vertical" }, h("slot", { key: '0ed9b6ef9c8af21b239d505bd4a55f19d6aff418' }), h("span", { key: '1e7af14cfbd40cedf7c4cacc67d0232560ca6a18', slot: "description" }, h("slot", { key: '1a63ad36fd61d5140201c0d62a37e36dad5470a3', name: "body" })), h("span", { key: '9fe3673d3aee02dae3f2d541a332a68e37794427', slot: "buttons" }, h("slot", { key: '932d6a3ca09ef215818dfca3353ceca2764b3ac2', name: "buttons" })))), h("div", { key: 'ceb3132f1986c70766e897aad8c71b155eb3d84e', class: "illustrated-card__illustration-area" }, h("slot", { key: '1b2456a9b4a87823832555b0836381336e44ee83', name: "illustration" }))))));
28
+ return (h(Host, { key: '6cfa00ec3678220a5cb65c47c2a6dd120a8c5553' }, h("div", { key: '0b2fe8e581ead66d4f87007effce17bc506acb90', class: wrapperClasses }, h("af-card", { key: '7c9b545d3dd1960c43a6913ed28beb7f061c31e7', theme: this.theme }, h("div", { key: 'cfe8a3385853a6affefc77f18f5625f292f10489', class: "illustrated-card__content" }, h("af-typography-lockup", { key: '38e539b8617502fdd4ae2ebd6e1e536cf502b9a1', headingSize: 3, breakpoint: this.breakpoint, textAlignment: "left", buttonLayout: "vertical" }, h("slot", { key: '8988255edefe50349f78fe45db72c584ba6378ef' }), h("span", { key: '769cbdd181f166b086974e21a7f941dd4e17add0', slot: "description" }, h("slot", { key: 'ac1793bf3c0cc8e1a5d1ce9b2958a4e320b81134', name: "body" })), h("span", { key: 'ef22764670352f88d7e647b44625ac1afa94d51f', slot: "buttons" }, h("slot", { key: '625f23188a6cd9914b67b1c9937c728bc7125f4f', name: "buttons" })))), h("div", { key: '0616a426ea07da6c92488c65d85ba3c3ab84c40b', class: "illustrated-card__illustration-area" }, h("slot", { key: 'cf2998e62fb20f3cd049e0640004322a0b438ac1', name: "illustration" }))))));
29
29
  }
30
30
  };
31
31
  AfIllustratedCard.style = afIllustratedCardCss;