@nextcommerce/campaigns-os 1.33.0 → 1.37.1

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 (136) hide show
  1. package/AGENTS.md +42 -13
  2. package/CHANGELOG.md +129 -0
  3. package/README.md +42 -20
  4. package/compatibility.json +1 -1
  5. package/contracts/agent-relevant-change-policy.v1.json +1 -0
  6. package/contracts/fixtures/progress/observation.v0.json +89 -0
  7. package/contracts/fixtures/runtime-recipe/accept/current.json +3 -5
  8. package/contracts/fixtures/runtime-recipe/accept/minimal.json +3 -5
  9. package/contracts/fixtures/runtime-recipe/reject/advisory-enforcement.json +3 -5
  10. package/contracts/fixtures/runtime-recipe/reject/allowlist-without-hosts.json +3 -5
  11. package/contracts/fixtures/runtime-recipe/reject/committed-output-claim.json +3 -5
  12. package/contracts/fixtures/runtime-recipe/reject/engines-disagreement-warns.json +3 -5
  13. package/contracts/fixtures/runtime-recipe/reject/lifecycle-scripts-enabled.json +3 -5
  14. package/contracts/fixtures/runtime-recipe/reject/missing-required-field.json +3 -5
  15. package/contracts/fixtures/runtime-recipe/reject/unknown-kind.json +3 -5
  16. package/contracts/fixtures/runtime-recipe/reject/unknown-network-policy.json +3 -5
  17. package/contracts/fixtures/runtime-recipe/reject/unknown-output-check.json +3 -5
  18. package/contracts/fixtures/runtime-recipe/reject/unknown-revision.json +2 -4
  19. package/contracts/fixtures/runtime-recipe/reject/unknown-step-id.json +3 -5
  20. package/contracts/fixtures/runtime-recipe/reject/unperformable-check-skipped.json +3 -5
  21. package/contracts/fixtures/runtime-recipe/reject/unpinned-lockfile.json +3 -5
  22. package/contracts/release-ledger.json +614 -0
  23. package/contracts/runtime-recipe.campaigns-os-node-v1.json +3 -5
  24. package/contracts/supported-surface.json +23 -6
  25. package/demo/apollo-v0/NOTICE.txt +51 -0
  26. package/demo/apollo-v0/assets/css/demo.css +2 -0
  27. package/demo/apollo-v0/assets/css/landing/tokens.css +35 -0
  28. package/demo/apollo-v0/assets/css/next-core.css +16124 -0
  29. package/demo/apollo-v0/assets/images/1x1_1.svg +19 -0
  30. package/demo/apollo-v0/assets/images/1x1_2.svg +19 -0
  31. package/demo/apollo-v0/assets/images/affirm-logo.svg +24 -0
  32. package/demo/apollo-v0/assets/images/apple-pay-logo.svg +4 -0
  33. package/demo/apollo-v0/assets/images/bancontact-logo.svg +1 -0
  34. package/demo/apollo-v0/assets/images/cc-visa.svg +28 -0
  35. package/demo/apollo-v0/assets/images/cc_amex.svg +20 -0
  36. package/demo/apollo-v0/assets/images/cc_discover.svg +21 -0
  37. package/demo/apollo-v0/assets/images/cc_master.svg +22 -0
  38. package/demo/apollo-v0/assets/images/credit-card-flags.svg +38 -0
  39. package/demo/apollo-v0/assets/images/demo-inline-40788e52a7c75b78.svg +1 -0
  40. package/demo/apollo-v0/assets/images/demo-inline-686e73c8840a0f0a.svg +1 -0
  41. package/demo/apollo-v0/assets/images/google-pay-logo.svg +7 -0
  42. package/demo/apollo-v0/assets/images/guarantee-badge.png +0 -0
  43. package/demo/apollo-v0/assets/images/icon-dollar.svg +5 -0
  44. package/demo/apollo-v0/assets/images/icon-guarantee.svg +5 -0
  45. package/demo/apollo-v0/assets/images/icon-shipping.svg +5 -0
  46. package/demo/apollo-v0/assets/images/icons8-lock-24_1icons8-lock-24.png +0 -0
  47. package/demo/apollo-v0/assets/images/ideal-logo.svg +30 -0
  48. package/demo/apollo-v0/assets/images/klarna-logo.svg +9 -0
  49. package/demo/apollo-v0/assets/images/landing/_shared/16x9.svg +19 -0
  50. package/demo/apollo-v0/assets/images/landing/_shared/1x1_1.svg +19 -0
  51. package/demo/apollo-v0/assets/images/landing/_shared/4x3.svg +19 -0
  52. package/demo/apollo-v0/assets/images/landing/_shared/arrow-right.svg +6 -0
  53. package/demo/apollo-v0/assets/images/landing/_shared/cta-guarantee-icon.png +0 -0
  54. package/demo/apollo-v0/assets/images/landing/benefits-2/benefits-2-icon-1.svg +8 -0
  55. package/demo/apollo-v0/assets/images/landing/benefits-2/benefits-2-icon-2.svg +10 -0
  56. package/demo/apollo-v0/assets/images/landing/benefits-2/benefits-2-icon-3.svg +13 -0
  57. package/demo/apollo-v0/assets/images/landing/benefits-2/benefits-2-icon-4.svg +11 -0
  58. package/demo/apollo-v0/assets/images/landing/benefits-2/benefits-2-quote.svg +6 -0
  59. package/demo/apollo-v0/assets/images/landing/benefits-2/benefits-2-verified.svg +10 -0
  60. package/demo/apollo-v0/assets/images/landing/bottomcta-1/check-bullet.svg +5 -0
  61. package/demo/apollo-v0/assets/images/landing/faq-1/faq-chevron.svg +6 -0
  62. package/demo/apollo-v0/assets/images/landing/footer-1/footer-logo.png +0 -0
  63. package/demo/apollo-v0/assets/images/landing/guarantee-1/guarantee-1-badge.svg +8 -0
  64. package/demo/apollo-v0/assets/images/landing/hero-1/icon-check.svg +5 -0
  65. package/demo/apollo-v0/assets/images/landing/hero-1/icon-star.svg +6 -0
  66. package/demo/apollo-v0/assets/images/landing/hero-1/icon-verified.svg +6 -0
  67. package/demo/apollo-v0/assets/images/landing/icons-5/icon-batteries.svg +7 -0
  68. package/demo/apollo-v0/assets/images/landing/icons-5/icon-cuff-checking.svg +6 -0
  69. package/demo/apollo-v0/assets/images/landing/icons-5/icon-dual-user.svg +5 -0
  70. package/demo/apollo-v0/assets/images/landing/icons-5/icon-fda-cleared.svg +5 -0
  71. package/demo/apollo-v0/assets/images/landing/icons-5/icon-heartbeat.svg +17 -0
  72. package/demo/apollo-v0/assets/images/landing/icons-5/icon-lcd-display.svg +10 -0
  73. package/demo/apollo-v0/assets/images/landing/icons-5/icon-movement-error.svg +7 -0
  74. package/demo/apollo-v0/assets/images/landing/icons-5/icon-portable.png +0 -0
  75. package/demo/apollo-v0/assets/images/landing/icons-5/icon-reading-memory.svg +6 -0
  76. package/demo/apollo-v0/assets/images/landing/icons-5/icon-wrist-comfort.svg +5 -0
  77. package/demo/apollo-v0/assets/images/landing/ingredients-3/ingredients-3-card-1.jpg +0 -0
  78. package/demo/apollo-v0/assets/images/landing/ingredients-3/ingredients-3-card-2.jpg +0 -0
  79. package/demo/apollo-v0/assets/images/landing/ingredients-3/ingredients-3-card-3.jpg +0 -0
  80. package/demo/apollo-v0/assets/images/landing/ingredients-3/ingredients-3-card-4.jpg +0 -0
  81. package/demo/apollo-v0/assets/images/landing/ingredients-3/ingredients-3-promise-1.png +0 -0
  82. package/demo/apollo-v0/assets/images/landing/ingredients-3/ingredients-3-promise-2.png +0 -0
  83. package/demo/apollo-v0/assets/images/landing/ingredients-3/ingredients-3-promise-3.png +0 -0
  84. package/demo/apollo-v0/assets/images/landing/ingredients-3/ingredients-3-promise-4.png +0 -0
  85. package/demo/apollo-v0/assets/images/landing/ingredients-3/ingredients-3-promise-5.png +0 -0
  86. package/demo/apollo-v0/assets/images/landing/ingredients-3/ingredients-3-promise-6.png +0 -0
  87. package/demo/apollo-v0/assets/images/landing/nav-1/flag-us.png +0 -0
  88. package/demo/apollo-v0/assets/images/landing/reviews-3/star-card.svg +3 -0
  89. package/demo/apollo-v0/assets/images/landing/reviews-3/star-lg.svg +3 -0
  90. package/demo/apollo-v0/assets/images/landing/reviews-3/star-sm.svg +3 -0
  91. package/demo/apollo-v0/assets/images/landing/reviews-3/verified.svg +10 -0
  92. package/demo/apollo-v0/assets/images/landing/testimonials-2/testimonials-2-reactions.svg +9 -0
  93. package/demo/apollo-v0/assets/images/landing/testimonials-2/testimonials-2-stars.svg +6 -0
  94. package/demo/apollo-v0/assets/images/link-logo.svg +1 -0
  95. package/demo/apollo-v0/assets/images/next-dark.svg +8 -0
  96. package/demo/apollo-v0/assets/images/paypal-logo.svg +5 -0
  97. package/demo/apollo-v0/assets/images/paypal-txt.svg +8 -0
  98. package/demo/apollo-v0/assets/images/paypal.svg +22 -0
  99. package/demo/apollo-v0/assets/images/sepa-logo.svg +275 -0
  100. package/demo/apollo-v0/assets/images/twint-logo.svg +1 -0
  101. package/demo/apollo-v0/assets/images/united-states-flag-icon.webp +0 -0
  102. package/demo/apollo-v0/assets/images/upsell-payment-logos.svg +38 -0
  103. package/demo/apollo-v0/assets/images/usps.png +0 -0
  104. package/demo/apollo-v0/checkout/index.html +1370 -0
  105. package/demo/apollo-v0/landing/index.html +1836 -0
  106. package/demo/apollo-v0/provenance.json +342 -0
  107. package/demo/apollo-v0/receipt/index.html +292 -0
  108. package/demo/apollo-v0/upsell-bundle-stepper/index.html +401 -0
  109. package/docs/activation-and-evidence.md +37 -0
  110. package/docs/demo-preview.md +63 -0
  111. package/docs/diagnostics.md +55 -0
  112. package/docs/orientation-contract-reference.md +3 -1
  113. package/docs/progress-snapshots.md +142 -0
  114. package/docs/qa-and-test-orders.md +26 -0
  115. package/docs/runtime-readiness.md +3 -3
  116. package/docs/sdk-storage-compatibility.md +19 -0
  117. package/docs/supported-surface.md +14 -1
  118. package/docs/versioning.md +1 -1
  119. package/package.json +22 -8
  120. package/schemas/campaign-runtime-build-context.v0.schema.json +42 -0
  121. package/schemas/campaigns-os-progress-snapshot.v0.schema.json +370 -0
  122. package/skills/next-campaigns-build/SKILL.md +17 -1
  123. package/skills/next-campaigns-os/SKILL.md +19 -3
  124. package/skills/next-campaigns-os-setup/SKILL.md +17 -1
  125. package/skills/next-campaigns-polish/SKILL.md +18 -2
  126. package/skills/next-campaigns-qa/SKILL.md +24 -8
  127. package/skills.json +5 -5
  128. package/src/cli.mjs +96 -6
  129. package/src/consent.mjs +2 -2
  130. package/src/demo-artifact.mjs +97 -0
  131. package/src/demo.mjs +85 -0
  132. package/src/diagnostic.mjs +101 -0
  133. package/src/install-mode.mjs +13 -1
  134. package/src/progress-node.mjs +177 -0
  135. package/src/progress.mjs +133 -0
  136. package/src/sdk-storage-compatibility.mjs +359 -0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "_note": "The downstream contract manifest. Everything listed here is SUPPORTED SURFACE: consumers (campaigns-agent, campaign-builder, the private ops repo, page-kit campaign repos) may depend on it, and changing it is a deliberate act \u2014 hashed entries require a surface_version bump in the same change (check-supported-surface.mjs --base, mirroring the skills.json bump gate), named entries must keep existing at their path, cli_commands must keep resolving in the CLI dispatch, package_exports must stay exported, and every entry must ship in the npm pack (files[] coverage). Anything NOT listed here \u2014 src/** internals, scripts/** checkers, examples/**, prompts/**, contracts/** other than this file and the entries named[] below (the orientation contract, the release ledger, and the consumer-facing orientation fixtures) \u2014 is implementation: consumers may read it for context but must not build on it, and it can change without notice. Rationale and the compatibility promise: docs/supported-surface.md.",
3
- "surface_version": "1.33.0",
3
+ "surface_version": "1.37.1",
4
4
  "package_exports": [
5
5
  "./commercial-journey",
6
6
  "./commercial-parity",
@@ -10,7 +10,9 @@
10
10
  "./schemas/campaign-spec.v4.schema.json",
11
11
  "./schemas/campaigns-os-legacy-migration-inventory.v0.schema.json",
12
12
  "./schemas/campaigns-os-legacy-provisioning-plan.v0.schema.json",
13
- "./schemas/campaigns-os-legacy-provisioning-receipt.v0.schema.json"
13
+ "./schemas/campaigns-os-legacy-provisioning-receipt.v0.schema.json",
14
+ "./progress",
15
+ "./schemas/campaigns-os-progress-snapshot.v0.schema.json"
14
16
  ],
15
17
  "bin": [
16
18
  "campaigns-os"
@@ -23,6 +25,7 @@
23
25
  "checkpoint",
24
26
  "page-kit",
25
27
  "spec",
28
+ "sdk",
26
29
  "doctor",
27
30
  "bundle",
28
31
  "next",
@@ -36,14 +39,15 @@
36
39
  "qa",
37
40
  "findings",
38
41
  "run-record",
39
- "run"
42
+ "run",
43
+ "demo"
40
44
  ],
41
45
  "hashed": {
42
46
  "contracts/migration-sidecar-bundle.v0.json": {
43
47
  "sha256": "f5097f6cccaf211d442c1ebc584d2c76d5a07a44e587df130de02117a9412db0"
44
48
  },
45
49
  "contracts/runtime-recipe.campaigns-os-node-v1.json": {
46
- "sha256": "f06944b37ddbcfc6353ebc01dbc1eaf9ee5ebe3dbc91609214e25252905915ff"
50
+ "sha256": "90aaaaade90cf2525ea1aa05be5cb2d02b57e6e59f9278a946efa8a087946fd3"
47
51
  },
48
52
  "schemas/campaign-build-brief.v1.schema.json": {
49
53
  "sha256": "d524003184131398dc15fdb84385af1be0de0c69d6c5ede7278689a5b6101b81"
@@ -55,7 +59,7 @@
55
59
  "sha256": "3fa085f2ad368567983cdc9c01e7c712682d02df9c28e69a2b7befb45d444468"
56
60
  },
57
61
  "schemas/campaign-runtime-build-context.v0.schema.json": {
58
- "sha256": "15118c9d05adc7b21dca06f4e3a33acac4ba7b342df3c3a14be19bea71de533c"
62
+ "sha256": "f310c1b7844d9b1994864d15858ff0c6f17efc1e5285ba193d181bdb2dd4be2f"
59
63
  },
60
64
  "schemas/campaign-runtime-build-packet.v0.schema.json": {
61
65
  "sha256": "91853bbd1b14c080e2fe2ec32f1aa643f53e62df280b543093bf158ae924dd4b"
@@ -101,6 +105,12 @@
101
105
  },
102
106
  "schemas/source-html-manifest.v0.schema.json": {
103
107
  "sha256": "841c1f884260ce3eb3ddb518960a127bc915992a9539c818e5986ce156acff1f"
108
+ },
109
+ "schemas/campaigns-os-progress-snapshot.v0.schema.json": {
110
+ "sha256": "c572756be7df03351843ffc361fc657e3fd819702b4e6f0a78a3c8efd0b0f046"
111
+ },
112
+ "demo/apollo-v0/provenance.json": {
113
+ "sha256": "2e440be6513fe06b351c3a72c35424a04f807792621cb01e89803441fd925e06"
104
114
  }
105
115
  },
106
116
  "named": [
@@ -175,6 +185,13 @@
175
185
  "contracts/fixtures/runtime-recipe/reject/missing-required-field.json",
176
186
  "contracts/fixtures/orientation/hostile-target/repo/bin/intended.mjs",
177
187
  "contracts/fixtures/orientation/hostile-target/repo/hostile-dependency-tripwire/package.json",
178
- "contracts/fixtures/orientation/hostile-target/repo/hostile-dependency-tripwire/tripwire.mjs"
188
+ "contracts/fixtures/orientation/hostile-target/repo/hostile-dependency-tripwire/tripwire.mjs",
189
+ "docs/sdk-storage-compatibility.md",
190
+ "docs/activation-and-evidence.md",
191
+ "docs/diagnostics.md",
192
+ "docs/progress-snapshots.md",
193
+ "contracts/fixtures/progress/observation.v0.json",
194
+ "docs/demo-preview.md",
195
+ "demo/apollo-v0/NOTICE.txt"
179
196
  ]
180
197
  }
@@ -0,0 +1,51 @@
1
+ Static Apollo sample projection
2
+ Copyright 2026 Next Commerce Pte. Ltd.
3
+ Selected public NEXT Apollo template HTML and referenced assets, pinned to 11352c30c596db258679fd3a552b906086b11bb9.
4
+ This sample is inert reference content and confers no campaign or QA evidence.
5
+ Typography uses system-ui, sans-serif; remote fonts and active SDK controls are omitted.
6
+ Existing source notices are retained below; no additional template licence grant is asserted.
7
+
8
+ MIT License
9
+
10
+ Copyright (c) 2025 29 Next
11
+
12
+ Permission is hereby granted, free of charge, to any person obtaining a copy
13
+ of this software and associated documentation files (the "Software"), to deal
14
+ in the Software without restriction, including without limitation the rights
15
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
16
+ copies of the Software, and to permit persons to whom the Software is
17
+ furnished to do so, subject to the following conditions:
18
+
19
+ The above copyright notice and this permission notice shall be included in all
20
+ copies or substantial portions of the Software.
21
+
22
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
23
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
24
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
25
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
26
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
27
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
28
+ SOFTWARE.
29
+
30
+
31
+ MIT License
32
+
33
+ Copyright (c) Tailwind Labs, Inc.
34
+
35
+ Permission is hereby granted, free of charge, to any person obtaining a copy
36
+ of this software and associated documentation files (the "Software"), to deal
37
+ in the Software without restriction, including without limitation the rights
38
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
39
+ copies of the Software, and to permit persons to whom the Software is
40
+ furnished to do so, subject to the following conditions:
41
+
42
+ The above copyright notice and this permission notice shall be included in all
43
+ copies or substantial portions of the Software.
44
+
45
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
46
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
47
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
48
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
49
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
50
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
51
+ SOFTWARE.
@@ -0,0 +1,2 @@
1
+ *,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.-bottom-\[4px\]{bottom:-4px}.bottom-0{bottom:0}.left-0{left:0}.right-0{right:0}.right-\[10px\]{right:10px}.right-auto{right:auto}.top-0{top:0}.top-1\/2{top:50%}.top-\[20px\]{top:20px}.z-\[1\]{z-index:1}.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.mt-\[12px\]{margin-top:12px}.mt-\[16px\]{margin-top:16px}.mt-\[20px\]{margin-top:20px}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.aspect-\[168\/216\]{aspect-ratio:168/216}.aspect-\[374\/233\]{aspect-ratio:374/233}.aspect-\[412\/480\]{aspect-ratio:412/480}.aspect-square{aspect-ratio:1/1}.h-8{height:2rem}.h-\[12px\]{height:12px}.h-\[140px\]{height:140px}.h-\[14px\]{height:14px}.h-\[160px\]{height:160px}.h-\[16px\]{height:16px}.h-\[170px\]{height:170px}.h-\[17px\]{height:17px}.h-\[18px\]{height:18px}.h-\[19px\]{height:19px}.h-\[200px\]{height:200px}.h-\[20px\]{height:20px}.h-\[24px\]{height:24px}.h-\[261px\]{height:261px}.h-\[26px\]{height:26px}.h-\[28px\]{height:28px}.h-\[300px\]{height:300px}.h-\[30px\]{height:30px}.h-\[32px\]{height:32px}.h-\[36px\]{height:36px}.h-\[3px\]{height:3px}.h-\[420px\]{height:420px}.h-\[48px\]{height:48px}.h-\[4px\]{height:4px}.h-\[50px\]{height:50px}.h-\[56px\]{height:56px}.h-\[60px\]{height:60px}.h-\[64px\]{height:64px}.h-\[70px\]{height:70px}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-full{max-height:100%}.min-h-\[1px\]{min-height:1px}.min-h-\[290px\]{min-height:290px}.w-8{width:2rem}.w-\[112px\]{width:112px}.w-\[120px\]{width:120px}.w-\[12px\]{width:12px}.w-\[140px\]{width:140px}.w-\[14px\]{width:14px}.w-\[16px\]{width:16px}.w-\[170px\]{width:170px}.w-\[18px\]{width:18px}.w-\[20px\]{width:20px}.w-\[24px\]{width:24px}.w-\[261px\]{width:261px}.w-\[26px\]{width:26px}.w-\[28px\]{width:28px}.w-\[2px\]{width:2px}.w-\[30px\]{width:30px}.w-\[32px\]{width:32px}.w-\[345px\]{width:345px}.w-\[34px\]{width:34px}.w-\[36px\]{width:36px}.w-\[39px\]{width:39px}.w-\[40px\]{width:40px}.w-\[420px\]{width:420px}.w-\[440px\]{width:440px}.w-\[48px\]{width:48px}.w-\[50px\]{width:50px}.w-\[56px\]{width:56px}.w-\[60px\]{width:60px}.w-\[62px\]{width:62px}.w-\[68px\]{width:68px}.w-\[80px\]{width:80px}.w-\[92px\]{width:92px}.w-\[99px\]{width:99px}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-px{width:1px}.min-w-0{min-width:0}.max-w-\[1120px\]{max-width:1120px}.max-w-\[1440px\]{max-width:1440px}.max-w-\[345px\]{max-width:345px}.max-w-\[440px\]{max-width:440px}.max-w-\[647px\]{max-width:647px}.max-w-\[720px\]{max-width:720px}.max-w-\[800px\]{max-width:800px}.max-w-full{max-width:100%}.max-w-none{max-width:none}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.-translate-y-\[8px\]{--tw-translate-y:-8px}.-translate-y-\[8px\],.translate-y-\[8px\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[8px\]{--tw-translate-y:8px}.rotate-180{--tw-rotate:180deg}.rotate-180,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-5{gap:1.25rem}.gap-8{gap:2rem}.gap-\[10px\]{gap:10px}.gap-\[12px\]{gap:12px}.gap-\[15px\]{gap:15px}.gap-\[16px\]{gap:16px}.gap-\[20px\]{gap:20px}.gap-\[24px\]{gap:24px}.gap-\[26px\]{gap:26px}.gap-\[2px\]{gap:2px}.gap-\[32px\]{gap:32px}.gap-\[3px\]{gap:3px}.gap-\[48px\]{gap:48px}.gap-\[4px\]{gap:4px}.gap-\[60px\]{gap:60px}.gap-\[6px\]{gap:6px}.gap-\[8px\]{gap:8px}.gap-x-\[12px\]{-moz-column-gap:12px;column-gap:12px}.gap-x-\[20px\]{-moz-column-gap:20px;column-gap:20px}.gap-x-\[8px\]{-moz-column-gap:8px;column-gap:8px}.gap-y-\[14px\]{row-gap:14px}.gap-y-\[2px\]{row-gap:2px}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.overflow-hidden{overflow:hidden}.whitespace-nowrap{white-space:nowrap}.rounded-\[10px\]{border-radius:10px}.rounded-\[12px\]{border-radius:12px}.rounded-\[16px\]{border-radius:16px}.rounded-\[20px\]{border-radius:20px}.rounded-\[2px\]{border-radius:2px}.rounded-\[3px\]{border-radius:3px}.rounded-\[4px\]{border-radius:4px}.rounded-\[6px\]{border-radius:6px}.rounded-\[8px\]{border-radius:8px}.rounded-full{border-radius:9999px}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-4{border-width:4px}.border-b{border-bottom-width:1px}.border-l-2{border-left-width:2px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-\[rgba\(0\2c 0\2c 0\2c 0\.16\)\]{border-color:rgba(0,0,0,.16)}.border-\[var\(--border-default\)\]{border-color:var(--border-default)}.border-\[var\(--brand-primary\)\]{border-color:var(--brand-primary)}.border-\[var\(--text-primary\)\]{border-color:var(--text-primary)}.bg-\[\#1FB67C\]{--tw-bg-opacity:1;background-color:rgb(31 182 124/var(--tw-bg-opacity,1))}.bg-\[\#1bba85\]{--tw-bg-opacity:1;background-color:rgb(27 186 133/var(--tw-bg-opacity,1))}.bg-\[\#edf2ff\]{--tw-bg-opacity:1;background-color:rgb(237 242 255/var(--tw-bg-opacity,1))}.bg-\[\#f4f5f4\]{--tw-bg-opacity:1;background-color:rgb(244 245 244/var(--tw-bg-opacity,1))}.bg-\[var\(--border-default\)\]{background-color:var(--border-default)}.bg-\[var\(--brand-primary\)\]{background-color:var(--brand-primary)}.bg-\[var\(--brand-secondary\)\]{background-color:var(--brand-secondary)}.bg-\[var\(--brand-secondary\2c \#edf2ff\)\]{background-color:var(--brand-secondary,#edf2ff)}.bg-\[var\(--brand-tint\2c \#edf2ff\)\]{background-color:var(--brand-tint,#edf2ff)}.bg-\[var\(--text-primary\)\]{background-color:var(--text-primary)}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-\[\#1bba85\]{--tw-gradient-from:#1bba85 var(--tw-gradient-from-position);--tw-gradient-to:rgba(27,186,133,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-white{--tw-gradient-from:#fff var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-\[70\%\]{--tw-gradient-from-position:70%}.from-\[80\%\]{--tw-gradient-from-position:80%}.from-\[90\%\]{--tw-gradient-from-position:90%}.to-\[\#909090\]{--tw-gradient-to:#909090 var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.to-\[70\%\]{--tw-gradient-to-position:70%}.to-\[80\%\]{--tw-gradient-to-position:80%}.to-\[90\%\]{--tw-gradient-to-position:90%}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.object-bottom{-o-object-position:bottom;object-position:bottom}.object-center{-o-object-position:center;object-position:center}.object-right{-o-object-position:right;object-position:right}.object-top{-o-object-position:top;object-position:top}.p-0{padding:0}.p-\[20px\]{padding:20px}.p-\[20px_10px\]{padding:20px 10px}.p-\[2px\]{padding:2px}.p-\[3px\]{padding:3px}.p-\[4px\]{padding:4px}.px-\[0\]{padding-left:0;padding-right:0}.px-\[12px\]{padding-left:12px;padding-right:12px}.px-\[15px\]{padding-left:15px;padding-right:15px}.px-\[16px\]{padding-left:16px;padding-right:16px}.px-\[20px\]{padding-left:20px;padding-right:20px}.px-\[24px\]{padding-left:24px;padding-right:24px}.px-\[27px\]{padding-left:27px;padding-right:27px}.px-\[4px\]{padding-left:4px;padding-right:4px}.px-\[8px\]{padding-left:8px;padding-right:8px}.px-\[9px\]{padding-left:9px;padding-right:9px}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-\[12px\]{padding-top:12px;padding-bottom:12px}.py-\[14px\]{padding-top:14px;padding-bottom:14px}.py-\[16px\]{padding-top:16px;padding-bottom:16px}.py-\[20px\]{padding-top:20px;padding-bottom:20px}.py-\[24px\]{padding-top:24px;padding-bottom:24px}.py-\[2px\]{padding-top:2px;padding-bottom:2px}.py-\[40px\]{padding-top:40px;padding-bottom:40px}.py-\[4px\]{padding-top:4px;padding-bottom:4px}.py-\[6px\]{padding-top:6px;padding-bottom:6px}.py-\[8px\]{padding-top:8px;padding-bottom:8px}.pb-\[16px\]{padding-bottom:16px}.pb-\[20px\]{padding-bottom:20px}.pb-\[24px\]{padding-bottom:24px}.pb-\[8px\]{padding-bottom:8px}.pl-\[8px\]{padding-left:8px}.pr-\[10px\]{padding-right:10px}.pr-\[92px\]{padding-right:92px}.pt-\[10px\]{padding-top:10px}.pt-\[12px\]{padding-top:12px}.pt-\[20px\]{padding-top:20px}.pt-\[24px\]{padding-top:24px}.text-left{text-align:left}.text-center{text-align:center}.font-sans{font-family:system-ui,sans-serif}.text-\[12px\]{font-size:12px}.text-\[14px\]{font-size:14px}.text-\[16px\]{font-size:16px}.text-\[18px\]{font-size:18px}.text-\[20px\]{font-size:20px}.text-\[28px\]{font-size:28px}.text-\[32px\]{font-size:32px}.text-\[40px\]{font-size:40px}.text-\[42px\]{font-size:42px}.text-\[48px\]{font-size:48px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.leading-\[1\.2\]{line-height:1.2}.leading-\[1\.4\]{line-height:1.4}.leading-\[1\.5\]{line-height:1.5}.leading-\[20px\]{line-height:20px}.leading-none{line-height:1}.tracking-\[-0\.06px\]{letter-spacing:-.06px}.tracking-\[-0\.07px\]{letter-spacing:-.07px}.tracking-\[-0\.08px\]{letter-spacing:-.08px}.tracking-\[-0\.09px\]{letter-spacing:-.09px}.tracking-\[-0\.14px\]{letter-spacing:-.14px}.tracking-\[-0\.16px\]{letter-spacing:-.16px}.tracking-\[-0\.1px\]{letter-spacing:-.1px}.tracking-\[-0\.22px\]{letter-spacing:-.22px}.tracking-\[-0\.24px\]{letter-spacing:-.24px}.tracking-\[-0\.2px\]{letter-spacing:-.2px}.tracking-\[2px\]{letter-spacing:2px}.text-\[\#1bba85\]{--tw-text-opacity:1;color:rgb(27 186 133/var(--tw-text-opacity,1))}.text-\[\#b70101\]{--tw-text-opacity:1;color:rgb(183 1 1/var(--tw-text-opacity,1))}.text-\[\#ffb800\]{--tw-text-opacity:1;color:rgb(255 184 0/var(--tw-text-opacity,1))}.text-\[color\:var\(--text-primary\)\]{color:var(--text-primary)}.text-\[var\(--brand-primary\)\]{color:var(--brand-primary)}.text-\[var\(--text-primary\)\]{color:var(--text-primary)}.text-\[var\(--text-secondary\)\]{color:var(--text-secondary)}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.no-underline{text-decoration-line:none}.opacity-0{opacity:0}.opacity-100{opacity:1}.shadow-\[0_-4px_16px_rgba\(0\2c 0\2c 0\2c 0\.12\)\]{--tw-shadow:0 -4px 16px rgba(0,0,0,.12);--tw-shadow-colored:0 -4px 16px var(--tw-shadow-color)}.shadow-\[0_-4px_16px_rgba\(0\2c 0\2c 0\2c 0\.12\)\],.shadow-\[0_0_0_5px_\#d5ddf3\]{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_0_5px_\#d5ddf3\]{--tw-shadow:0 0 0 5px #d5ddf3;--tw-shadow-colored:0 0 0 5px var(--tw-shadow-color)}.shadow-\[0px_2px_8px_0px_rgba\(0\2c 0\2c 0\2c 0\.08\)\]{--tw-shadow:0px 2px 8px 0px rgba(0,0,0,.08);--tw-shadow-colored:0px 2px 8px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150,.transition-transform{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@media (min-width:768px){.md\:static{position:static}.md\:mx-auto{margin-left:auto;margin-right:auto}.md\:mb-\[12px\]{margin-bottom:12px}.md\:mt-0{margin-top:0}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:aspect-\[128\/128\]{aspect-ratio:128/128}.md\:h-\[220px\]{height:220px}.md\:h-\[22px\]{height:22px}.md\:h-\[26px\]{height:26px}.md\:h-\[45px\]{height:45px}.md\:h-\[56px\]{height:56px}.md\:h-\[80px\]{height:80px}.md\:h-full{height:100%}.md\:w-\[131px\]{width:131px}.md\:w-\[150px\]{width:150px}.md\:w-\[179px\]{width:179px}.md\:w-\[22px\]{width:22px}.md\:w-\[26px\]{width:26px}.md\:w-\[320px\]{width:320px}.md\:w-\[40px\]{width:40px}.md\:w-\[440px\]{width:440px}.md\:w-\[45\%\]{width:45%}.md\:w-\[45px\]{width:45px}.md\:w-\[68px\]{width:68px}.md\:w-auto{width:auto}.md\:max-w-\[440px\]{max-width:440px}.md\:flex-1{flex:1 1 0%}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-start{align-items:flex-start}.md\:items-center{align-items:center}.md\:justify-center{justify-content:center}.md\:gap-10{gap:2.5rem}.md\:gap-12{gap:3rem}.md\:gap-4{gap:1rem}.md\:gap-\[10px\]{gap:10px}.md\:gap-\[12px\]{gap:12px}.md\:gap-\[16px\]{gap:16px}.md\:gap-\[2\.2px\]{gap:2.2px}.md\:gap-\[20px\]{gap:20px}.md\:gap-\[24px\]{gap:24px}.md\:gap-\[26px\]{gap:26px}.md\:gap-\[32px\]{gap:32px}.md\:gap-\[3px\]{gap:3px}.md\:gap-\[40px\]{gap:40px}.md\:gap-\[8px\]{gap:8px}.md\:gap-x-\[10px\]{-moz-column-gap:10px;column-gap:10px}.md\:gap-x-\[26px\]{-moz-column-gap:26px;column-gap:26px}.md\:self-stretch{align-self:stretch}.md\:rounded-\[16px\]{border-radius:16px}.md\:rounded-\[20px\]{border-radius:20px}.md\:rounded-\[3px\]{border-radius:3px}.md\:rounded-\[8px\]{border-radius:8px}.md\:object-bottom{-o-object-position:bottom;object-position:bottom}.md\:p-\[3px\]{padding:3px}.md\:px-0{padding-left:0;padding-right:0}.md\:px-\[10px\]{padding-left:10px;padding-right:10px}.md\:px-\[16px\]{padding-left:16px;padding-right:16px}.md\:px-\[20px\]{padding-left:20px;padding-right:20px}.md\:px-\[26px\]{padding-left:26px;padding-right:26px}.md\:py-12{padding-top:3rem;padding-bottom:3rem}.md\:py-8{padding-top:2rem;padding-bottom:2rem}.md\:py-\[14px\]{padding-top:14px;padding-bottom:14px}.md\:py-\[16px\]{padding-top:16px;padding-bottom:16px}.md\:py-\[32px\]{padding-top:32px;padding-bottom:32px}.md\:py-\[48px\]{padding-top:48px;padding-bottom:48px}.md\:py-\[8px\]{padding-top:8px;padding-bottom:8px}.md\:pb-\[20px\]{padding-bottom:20px}.md\:pr-0{padding-right:0}.md\:pr-\[26px\]{padding-right:26px}.md\:pt-\[14px\]{padding-top:14px}.md\:pt-\[16px\]{padding-top:16px}.md\:text-left{text-align:left}.md\:text-center{text-align:center}.md\:text-\[14px\]{font-size:14px}.md\:text-\[18px\]{font-size:18px}.md\:text-\[20px\]{font-size:20px}.md\:text-\[32px\]{font-size:32px}.md\:text-\[36px\]{font-size:36px}.md\:text-\[53px\]{font-size:53px}.md\:text-\[60px\]{font-size:60px}.md\:tracking-\[-0\.07px\]{letter-spacing:-.07px}.md\:tracking-\[-0\.08px\]{letter-spacing:-.08px}.md\:tracking-\[-0\.09px\]{letter-spacing:-.09px}.md\:tracking-\[-0\.12px\]{letter-spacing:-.12px}.md\:tracking-\[-0\.16px\]{letter-spacing:-.16px}.md\:tracking-\[-0\.18px\]{letter-spacing:-.18px}.md\:tracking-\[-0\.19px\]{letter-spacing:-.19px}.md\:tracking-\[-0\.1px\]{letter-spacing:-.1px}.md\:tracking-\[-0\.3px\]{letter-spacing:-.3px}}@media (min-width:1024px){.lg\:mb-\[12px\]{margin-bottom:12px}.lg\:mt-\[20px\]{margin-top:20px}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:grid{display:grid}.lg\:hidden{display:none}.lg\:aspect-auto{aspect-ratio:auto}.lg\:h-\[18px\]{height:18px}.lg\:h-\[28px\]{height:28px}.lg\:h-\[32px\]{height:32px}.lg\:h-\[60px\]{height:60px}.lg\:min-h-\[522px\]{min-height:522px}.lg\:w-\[140px\]{width:140px}.lg\:w-\[200px\]{width:200px}.lg\:w-\[261px\]{width:261px}.lg\:w-\[28px\]{width:28px}.lg\:w-\[32px\]{width:32px}.lg\:w-\[470px\]{width:470px}.lg\:w-\[560px\]{width:560px}.lg\:w-\[580px\]{width:580px}.lg\:flex-1{flex:1 1 0%}.lg\:shrink-0{flex-shrink:0}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:flex-col{flex-direction:column}.lg\:items-start{align-items:flex-start}.lg\:items-center{align-items:center}.lg\:items-stretch{align-items:stretch}.lg\:gap-12{gap:3rem}.lg\:gap-3{gap:.75rem}.lg\:gap-5{gap:1.25rem}.lg\:gap-\[12px\]{gap:12px}.lg\:gap-\[140px\]{gap:140px}.lg\:gap-\[20px\]{gap:20px}.lg\:gap-\[2px\]{gap:2px}.lg\:gap-\[32px\]{gap:32px}.lg\:gap-\[40px\]{gap:40px}.lg\:gap-\[48px\]{gap:48px}.lg\:gap-\[60px\]{gap:60px}.lg\:gap-\[8px\]{gap:8px}.lg\:gap-x-\[12px\]{-moz-column-gap:12px;column-gap:12px}.lg\:gap-x-\[20px\]{-moz-column-gap:20px;column-gap:20px}.lg\:gap-x-\[32px\]{-moz-column-gap:32px;column-gap:32px}.lg\:gap-y-\[40px\]{row-gap:40px}.lg\:rounded-\[24px\]{border-radius:24px}.lg\:px-\[12px\]{padding-left:12px;padding-right:12px}.lg\:px-\[20px\]{padding-left:20px;padding-right:20px}.lg\:px-\[24px\]{padding-left:24px;padding-right:24px}.lg\:px-\[40px\]{padding-left:40px;padding-right:40px}.lg\:px-\[60px\]{padding-left:60px;padding-right:60px}.lg\:px-\[80px\]{padding-left:80px;padding-right:80px}.lg\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.lg\:py-\[16px\]{padding-top:16px;padding-bottom:16px}.lg\:py-\[20px\]{padding-top:20px;padding-bottom:20px}.lg\:py-\[40px\]{padding-top:40px;padding-bottom:40px}.lg\:py-\[60px\]{padding-top:60px;padding-bottom:60px}.lg\:pr-\[60px\]{padding-right:60px}.lg\:pt-\[16px\]{padding-top:16px}.lg\:text-left{text-align:left}.lg\:text-center{text-align:center}.lg\:text-\[16px\]{font-size:16px}.lg\:text-\[18px\]{font-size:18px}.lg\:text-\[24px\]{font-size:24px}.lg\:text-\[40px\]{font-size:40px}.lg\:text-\[44px\]{font-size:44px}.lg\:text-\[55px\]{font-size:55px}.lg\:tracking-\[-0\.08px\]{letter-spacing:-.08px}.lg\:tracking-\[-0\.09px\]{letter-spacing:-.09px}.lg\:tracking-\[-0\.12px\]{letter-spacing:-.12px}.lg\:tracking-\[-0\.1px\]{letter-spacing:-.1px}.lg\:tracking-\[-0\.22px\]{letter-spacing:-.22px}.lg\:tracking-\[-0\.2px\]{letter-spacing:-.2px}}@media (min-width:1280px){.xl\:px-\[120px\]{padding-left:120px;padding-right:120px}.xl\:px-\[160px\]{padding-left:160px;padding-right:160px}.xl\:pr-\[120px\]{padding-right:120px}}
2
+ html,body{font-family:system-ui,sans-serif!important}.demo-banner{position:relative;z-index:1;padding:16px;background:#09090b;color:#fff;font:16px/1.4 system-ui,sans-serif}.demo-banner strong{display:block;font-size:18px}.demo-banner nav{all:unset!important;display:flex!important;flex-wrap:wrap!important;justify-content:flex-start!important;gap:16px!important;margin:8px 0!important}.demo-banner nav a{all:unset!important;display:block!important;flex:none!important;color:#91b9ff!important;text-decoration:underline!important;cursor:pointer!important;font:inherit!important}.demo-banner nav a:focus-visible{outline:2px solid #fff!important;outline-offset:3px!important}.demo-banner p{font-size:13px;margin:0}.demo-inert{pointer-events:none!important;cursor:default!important;opacity:.65}.checkout-reveal-panel{display:block!important}.swiper{position:relative;overflow:hidden}.swiper-wrapper{display:block}.swiper-slide{display:none}.swiper-slide:first-child{display:block}.swiper-button-prev,.swiper-button-next,.swiper-pagination{display:none!important}
@@ -0,0 +1,35 @@
1
+ :root {
2
+ /* Brand */
3
+ --brand-primary: #0f75ff;
4
+ --brand-secondary: #edf2ff;
5
+ --brand-accent: #22c55e;
6
+
7
+ /* Surfaces */
8
+ --surface-bg: #ffffff;
9
+ --surface-card: #f8faff;
10
+ --surface-alt: #f1f5ff;
11
+
12
+ /* Text */
13
+ --text-primary: #020b1e;
14
+ --text-secondary: #4a5568;
15
+ --text-inverse: #ffffff;
16
+
17
+ /* Border */
18
+ --border-default: #e2e8f0;
19
+
20
+ /* State */
21
+ --state-success: #22c55e;
22
+ --state-warning: #f59e0b;
23
+ --state-error: #ef4444;
24
+ }
25
+
26
+ /* Typography scale */
27
+ .text-display { font-size: 48px; font-weight: 700; line-height: 1.1; }
28
+ .text-heading-1 { font-size: 36px; font-weight: 700; line-height: 1.2; }
29
+ .text-heading-2 { font-size: 28px; font-weight: 700; line-height: 1.3; }
30
+ .text-heading-3 { font-size: 22px; font-weight: 600; line-height: 1.4; }
31
+ .text-body-lg { font-size: 18px; font-weight: 400; line-height: 1.7; }
32
+ .text-body { font-size: 16px; font-weight: 400; line-height: 1.7; }
33
+ .text-body-sm { font-size: 14px; font-weight: 400; line-height: 1.6; }
34
+ .text-caption { font-size: 12px; font-weight: 500; line-height: 1.5; }
35
+ .text-overline { font-size: 12px; font-weight: 700; line-height: 1.5; text-transform: uppercase; letter-spacing: 0.08em; }