@inneranimalmedia/agentsam-sdk 2.6.11 → 2.6.12

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 (411) hide show
  1. package/apps/cad-creator/shared/cad/package.json +1 -1
  2. package/apps/client-cms-editor/backend/package.json +2 -2
  3. package/apps/client-cms-editor/frontend/package.json +3 -3
  4. package/apps/client-cms-editor/frontend/src/adapters/http-authoring.test.ts +161 -0
  5. package/apps/client-cms-editor/frontend/src/adapters/http.ts +296 -65
  6. package/apps/client-cms-editor/frontend/src/editor/CmsEditor.tsx +47 -16
  7. package/apps/client-cms-editor/frontend/src/editor/composition-groups.test.ts +40 -0
  8. package/apps/client-cms-editor/frontend/src/editor/legacy/CmsEditorPrototype.tsx +28 -28
  9. package/apps/client-cms-editor/frontend/src/editor/useCmsEditorController.ts +3 -3
  10. package/apps/client-cms-editor/frontend/src/styles/agentsam-drawer.css +5 -4
  11. package/apps/client-cms-editor/frontend/src/styles/studio.css +150 -149
  12. package/apps/client-cms-editor/package.json +1 -1
  13. package/apps/client-cms-editor/reference/harvest/plans/INNERANIMALS-CONTENT-001.md +1 -1
  14. package/apps/client-cms-editor/shared/cms/package.json +1 -1
  15. package/apps/client-cms-editor/shared/cms/src/editor-types.ts +42 -1
  16. package/docs/CMS_CONTEXTUAL_COMPOSER.md +4 -4
  17. package/docs/PRODUCT_LIFECYCLE.md +38 -38
  18. package/docs/REPO_FILE_MAP.txt +2 -2
  19. package/docs/THEME_REFINERY.md +6 -6
  20. package/docs/WINDOWS_RUNTIME_INSTALL.md +1 -1
  21. package/docs/adr/ADR-0002-brand-campaign-plugin-boundaries.md +603 -0
  22. package/docs/adr/ADR-0003-copro-clean-room-product-architecture.md +34 -0
  23. package/docs/adr/ADR-0003-product-portfolio-and-package-taxonomy.md +146 -0
  24. package/docs/adr/ADR-0004-product-composition-and-provider-neutrality.md +56 -0
  25. package/docs/adr/ADR-0005-offer-graduation-standard.md +66 -0
  26. package/docs/adr/README.md +25 -0
  27. package/docs/architecture/AGENTSAM_APPLICATION_CONTRACT.md +1 -1
  28. package/docs/architecture/DUAL_ANALYTICS_PRODUCT.md +1 -1
  29. package/docs/content-studio/HOST_MOUNT_CHECKLIST.md +1 -1
  30. package/docs/content-studio/REVISION_GATE_2026-09-27.md +3 -3
  31. package/docs/contracts/google-cloud-oauth-setup.md +1 -1
  32. package/docs/local-studio/WORKMODE_DONOR_NOTES.md +3 -3
  33. package/docs/plans/ASTRA-BRIEF-2026-09-18.md +1 -1
  34. package/docs/plans/LOCAL-STUDIO-REAL-APP-CONTRACT-ADDENDUM-2026-09-27.md +2 -2
  35. package/docs/plans/MACHINE-FIRST-APPS-TUI-2026-09-24.md +1 -1
  36. package/docs/plans/NEXT-AGENT-HANDOFF.md +2 -2
  37. package/docs/plans/TOMORROW-EXTENSIVE-TODO-2026-09-26.md +68 -68
  38. package/docs/plans/TOMORROW-MACHINE-FIRST-BRIEFING.md +1 -1
  39. package/docs/plans/UNIVERSAL-INGEST-MACHINE-FIRST-2026-09-24.md +1 -1
  40. package/docs/prd/PRD-agentsam-analytics.md +174 -0
  41. package/docs/prd/PRD-agentsam-brand.md +181 -0
  42. package/docs/prd/PRD-agentsam-browser.md +177 -0
  43. package/docs/prd/PRD-agentsam-cad-studio.md +177 -0
  44. package/docs/prd/PRD-agentsam-campaign.md +1178 -0
  45. package/docs/prd/PRD-agentsam-commerce-studio.md +180 -0
  46. package/docs/prd/PRD-agentsam-content-studio.md +179 -0
  47. package/docs/prd/PRD-agentsam-copro.md +39 -0
  48. package/docs/prd/PRD-agentsam-database-studio.md +175 -0
  49. package/docs/prd/PRD-agentsam-developer-studio.md +175 -0
  50. package/docs/prd/PRD-agentsam-hosted-runtime.md +180 -0
  51. package/docs/prd/PRD-agentsam-knowledge.md +174 -0
  52. package/docs/prd/PRD-agentsam-local-studio.md +180 -0
  53. package/docs/prd/PRD-agentsam-merch.md +177 -0
  54. package/docs/prd/PRD-agentsam-platform.md +179 -0
  55. package/docs/prd/PRD-agentsam-site-studio.md +180 -0
  56. package/docs/prd/PRD-agentsam-work.md +180 -0
  57. package/docs/prd/README.md +39 -0
  58. package/docs/product/COPRO-DONOR-AUDIT.md +9 -0
  59. package/docs/product/COPRO-EXECUTION-PLAN.md +81 -0
  60. package/docs/product/COPRO-UI-QUALITY-GATE.md +119 -0
  61. package/docs/product/OFFER-PORTFOLIO.md +158 -0
  62. package/docs/product/PACKAGE-TAXONOMY.md +78 -0
  63. package/examples/hyperspace-demo/dist/assets/index-SZ2LfOpJ.js +242 -0
  64. package/examples/hyperspace-demo/dist/index.html +13 -0
  65. package/native/agentsam-machine/core/src/lib.rs +2 -2
  66. package/package.json +55 -35
  67. package/packages/agentsam-brand/package.json +3 -2
  68. package/packages/agentsam-brand/src/public.js +192 -0
  69. package/packages/agentsam-contracts/README.md +1 -1
  70. package/packages/agentsam-contracts/package.json +1 -1
  71. package/packages/agentsam-errors/package.json +1 -1
  72. package/packages/agentsam-goap/package.json +2 -2
  73. package/packages/agentsam-hooks/package.json +1 -1
  74. package/packages/agentsam-knowledge/package.json +1 -1
  75. package/packages/agentsam-merch/package.json +1 -1
  76. package/packages/agentsam-merch/test/merch.test.mjs +1 -1
  77. package/packages/agentsam-nav/dist/browser.global.js +34 -71
  78. package/packages/agentsam-nav/dist/browser.js +759 -3157
  79. package/packages/agentsam-nav/dist/index.js +751 -3149
  80. package/packages/agentsam-nav/package.json +1 -1
  81. package/packages/agentsam-queue-control/package.json +1 -1
  82. package/packages/agentsam-repository/package.json +1 -1
  83. package/packages/agentsam-repository/src/goap.js.bak-20260922011251 +670 -0
  84. package/packages/agentsam-vault/package.json +1 -1
  85. package/packages/agentsam-workbench/package.json +5 -4
  86. package/packages/agentsam-workbench/src/agent/MiniAgentSam.tsx +28 -4
  87. package/packages/agentsam-workbench/src/agent/contextual-composer.css +72 -70
  88. package/packages/agentsam-workbench/src/agent/mini-agentsam.css +228 -10
  89. package/packages/connectors/cfoa/package.json +1 -1
  90. package/packages/heuristic-theme/package.json +1 -1
  91. package/packages/identity/package.json +1 -1
  92. package/packages/identity/src/frontend/auth-portal/pages/login.html +1 -1
  93. package/packages/identity/src/frontend/auth-portal/pages/reset.html +1 -1
  94. package/packages/identity/src/frontend/auth-portal/pages/signup.html +1 -1
  95. package/packages/identity/tests/chatgpt-provider.test.mjs +3 -3
  96. package/packages/identity/tests/oauth-consent-view.test.mjs +11 -11
  97. package/packages/providers/completeful/README.md +3 -3
  98. package/packages/providers/completeful/package.json +1 -1
  99. package/packages/theme-cypress/README.md +11 -0
  100. package/packages/{theme-church-site → theme-cypress}/package.json +14 -11
  101. package/packages/theme-cypress/prebuild.json +23 -0
  102. package/packages/theme-cypress/site/assets/generated/favicon.svg +7 -0
  103. package/packages/theme-cypress/site/assets/generated/media-044ba16613.webp +0 -0
  104. package/packages/theme-cypress/site/assets/generated/media-0a1ea6f6d9.webp +0 -0
  105. package/packages/theme-cypress/site/assets/generated/media-0c06778307.webp +0 -0
  106. package/packages/theme-cypress/site/assets/generated/media-1539ed373a.webp +0 -0
  107. package/packages/theme-cypress/site/assets/generated/media-2df479fd2d.webp +0 -0
  108. package/packages/theme-cypress/site/assets/generated/media-2e8bd0d9bc.webp +0 -0
  109. package/packages/theme-cypress/site/assets/generated/media-41d4e2643c.webp +0 -0
  110. package/packages/theme-cypress/site/assets/generated/media-46205bfde8.webp +0 -0
  111. package/packages/theme-cypress/site/assets/generated/media-50c5f3e279.webp +0 -0
  112. package/packages/theme-cypress/site/assets/generated/media-5f1467778c.webp +0 -0
  113. package/packages/theme-cypress/site/assets/generated/media-6703642b22.webp +0 -0
  114. package/packages/theme-cypress/site/assets/generated/media-87a490bc8e.webp +0 -0
  115. package/packages/theme-cypress/site/assets/generated/media-997c10ef39.webp +0 -0
  116. package/packages/theme-cypress/site/assets/generated/media-a423735c21.webp +0 -0
  117. package/packages/theme-cypress/site/assets/generated/media-c9cea5245b.webp +0 -0
  118. package/packages/theme-cypress/site/assets/generated/media-cab3c84c60.webp +0 -0
  119. package/packages/theme-cypress/site/assets/generated/media-ce06595d59.webp +0 -0
  120. package/packages/theme-cypress/site/assets/generated/media-d268905e7e.webp +0 -0
  121. package/packages/theme-cypress/site/assets/generated/media-f6711b5053.webp +0 -0
  122. package/packages/theme-cypress/site/assets/generated/media-manifest.json +226 -0
  123. package/packages/theme-cypress/site/assets/generated/social-card.webp +0 -0
  124. package/packages/theme-cypress/site/assets/generated/theme-mark-192.png +0 -0
  125. package/packages/theme-cypress/site/assets/generated/theme-mark-512.png +0 -0
  126. package/packages/theme-cypress/site/assets/generated/theme-mark.svg +7 -0
  127. package/packages/theme-cypress/site/beliefs.html +175 -0
  128. package/packages/theme-cypress/site/community.html +175 -0
  129. package/packages/theme-cypress/site/connect.html +319 -0
  130. package/packages/theme-cypress/site/donate.html +106 -0
  131. package/packages/theme-cypress/site/groups.html +1352 -0
  132. package/packages/theme-cypress/site/help.html +1 -0
  133. package/packages/theme-cypress/site/icons/clock.svg +4 -0
  134. package/packages/theme-cypress/site/icons/email.svg +4 -0
  135. package/packages/theme-cypress/site/icons/giving.svg +4 -0
  136. package/packages/theme-cypress/site/icons/home.svg +4 -0
  137. package/packages/theme-cypress/site/icons/location.svg +4 -0
  138. package/packages/theme-cypress/site/icons/media.svg +4 -0
  139. package/packages/theme-cypress/site/icons/ministries.svg +6 -0
  140. package/packages/theme-cypress/site/icons/prayer.svg +5 -0
  141. package/packages/theme-cypress/site/icons/visit.svg +6 -0
  142. package/packages/theme-cypress/site/index.html +1013 -0
  143. package/packages/theme-cypress/site/mensgroup.html +477 -0
  144. package/packages/theme-cypress/site/mission.html +512 -0
  145. package/packages/theme-cypress/site/unified-footer.css +172 -0
  146. package/packages/theme-cypress/site/unified-footer.js +175 -0
  147. package/packages/theme-cypress/site/unified-header.css +226 -0
  148. package/packages/theme-cypress/site/unified-header.js +111 -0
  149. package/packages/theme-cypress/site/womansgroup.html +452 -0
  150. package/packages/{theme-church-site → theme-cypress}/src/index.js +22 -35
  151. package/packages/theme-cypress/src/node.js +69 -0
  152. package/packages/theme-cypress/test/theme.test.mjs +47 -0
  153. package/packages/theme-ember/README.md +11 -0
  154. package/packages/{theme-fuelnfree-site → theme-ember}/package.json +14 -11
  155. package/packages/theme-ember/prebuild.json +23 -0
  156. package/packages/theme-ember/site/about.html +1840 -0
  157. package/packages/theme-ember/site/assets/generated/favicon.svg +7 -0
  158. package/packages/theme-ember/site/assets/generated/media-1e0b1e6ee6.webp +0 -0
  159. package/packages/theme-ember/site/assets/generated/media-2371dcb426.webp +0 -0
  160. package/packages/theme-ember/site/assets/generated/media-2db4f5ff9e.webp +0 -0
  161. package/packages/theme-ember/site/assets/generated/media-4ed07a756e.webp +0 -0
  162. package/packages/theme-ember/site/assets/generated/media-58182cf167.webp +0 -0
  163. package/packages/theme-ember/site/assets/generated/media-5b8b8472ae.webp +0 -0
  164. package/packages/theme-ember/site/assets/generated/media-71f4bd16a1.webp +0 -0
  165. package/packages/theme-ember/site/assets/generated/media-7c1c8120bc.webp +0 -0
  166. package/packages/theme-ember/site/assets/generated/media-832b176433.webp +0 -0
  167. package/packages/theme-ember/site/assets/generated/media-931439701c.webp +0 -0
  168. package/packages/theme-ember/site/assets/generated/media-c2860d40d1.webp +0 -0
  169. package/packages/theme-ember/site/assets/generated/media-c56974d198.webp +0 -0
  170. package/packages/theme-ember/site/assets/generated/media-cb83a44ff4.webp +0 -0
  171. package/packages/theme-ember/site/assets/generated/media-df02ccdfcf.webp +0 -0
  172. package/packages/theme-ember/site/assets/generated/media-fab72cd344.webp +0 -0
  173. package/packages/theme-ember/site/assets/generated/media-manifest.json +190 -0
  174. package/packages/theme-ember/site/assets/generated/social-card.webp +0 -0
  175. package/packages/theme-ember/site/assets/generated/theme-mark-192.png +0 -0
  176. package/packages/theme-ember/site/assets/generated/theme-mark-512.png +0 -0
  177. package/packages/theme-ember/site/assets/generated/theme-mark.svg +7 -0
  178. package/packages/theme-ember/site/community.html +1664 -0
  179. package/packages/theme-ember/site/index.html +2044 -0
  180. package/packages/theme-ember/site/shop.html +2104 -0
  181. package/packages/{theme-fuelnfree-site → theme-ember}/src/index.js +23 -33
  182. package/packages/theme-ember/src/node.js +69 -0
  183. package/packages/theme-ember/test/theme.test.mjs +47 -0
  184. package/packages/theme-forge/README.md +11 -0
  185. package/packages/theme-forge/package.json +44 -0
  186. package/packages/theme-forge/prebuild.json +23 -0
  187. package/packages/theme-forge/site/apple-touch-icon.png +0 -0
  188. package/packages/theme-forge/site/assets/generated/favicon.svg +7 -0
  189. package/packages/theme-forge/site/assets/generated/media-manifest.json +17 -0
  190. package/packages/theme-forge/site/assets/generated/social-card.webp +0 -0
  191. package/packages/theme-forge/site/assets/generated/theme-mark-192.png +0 -0
  192. package/packages/theme-forge/site/assets/generated/theme-mark-512.png +0 -0
  193. package/packages/theme-forge/site/assets/generated/theme-mark.svg +7 -0
  194. package/packages/theme-forge/site/assets/index-DBOqQVsA.css +1 -0
  195. package/packages/theme-forge/site/assets/index-pXC0o9jp.js +241 -0
  196. package/packages/theme-forge/site/assets/workbox-window.prod.es5-Bd17z0YL.js +2 -0
  197. package/packages/theme-forge/site/index.html +5 -0
  198. package/packages/theme-forge/site/manifest.webmanifest +1 -0
  199. package/packages/theme-forge/site/pwa-192x192.png +0 -0
  200. package/packages/theme-forge/site/pwa-512x512.png +0 -0
  201. package/packages/theme-forge/site/sw.js +107 -0
  202. package/packages/theme-forge/site/workbox-7e5eb42b.js +3395 -0
  203. package/packages/theme-forge/src/index.js +76 -0
  204. package/packages/theme-forge/src/node.js +69 -0
  205. package/packages/theme-forge/test/theme.test.mjs +47 -0
  206. package/packages/theme-grove/README.md +11 -0
  207. package/packages/{theme-floors-site → theme-grove}/package.json +14 -11
  208. package/packages/theme-grove/prebuild.json +23 -0
  209. package/packages/theme-grove/site/assets/generated/favicon.svg +7 -0
  210. package/packages/theme-grove/site/assets/generated/media-098b13d75a.webp +0 -0
  211. package/packages/theme-grove/site/assets/generated/media-0c064db1aa.webp +0 -0
  212. package/packages/theme-grove/site/assets/generated/media-0fbfef655e.webp +0 -0
  213. package/packages/theme-grove/site/assets/generated/media-14759c7460.webp +0 -0
  214. package/packages/theme-grove/site/assets/generated/media-19b23d2a8f.webp +0 -0
  215. package/packages/theme-grove/site/assets/generated/media-2012f04243.webp +0 -0
  216. package/packages/theme-grove/site/assets/generated/media-23b8c5e2bb.webp +0 -0
  217. package/packages/theme-grove/site/assets/generated/media-2bffb1a6ef.webp +0 -0
  218. package/packages/theme-grove/site/assets/generated/media-2e1523a5b0.webp +0 -0
  219. package/packages/theme-grove/site/assets/generated/media-31107c21f2.webp +0 -0
  220. package/packages/theme-grove/site/assets/generated/media-31373ec865.webp +0 -0
  221. package/packages/theme-grove/site/assets/generated/media-45e8e27542.webp +0 -0
  222. package/packages/theme-grove/site/assets/generated/media-4aa9846fe7.webp +0 -0
  223. package/packages/theme-grove/site/assets/generated/media-5476b24219.webp +0 -0
  224. package/packages/theme-grove/site/assets/generated/media-7a227d3e4b.webp +0 -0
  225. package/packages/theme-grove/site/assets/generated/media-b183eed550.webp +0 -0
  226. package/packages/theme-grove/site/assets/generated/media-b2c650f9ab.webp +0 -0
  227. package/packages/theme-grove/site/assets/generated/media-b5d7471694.webp +0 -0
  228. package/packages/theme-grove/site/assets/generated/media-c86498fdb4.webp +0 -0
  229. package/packages/theme-grove/site/assets/generated/media-ce2cfff9a1.webp +0 -0
  230. package/packages/theme-grove/site/assets/generated/media-cf41a5f324.webp +0 -0
  231. package/packages/theme-grove/site/assets/generated/media-ec6c01bf8d.webp +0 -0
  232. package/packages/theme-grove/site/assets/generated/media-manifest.json +267 -0
  233. package/packages/theme-grove/site/assets/generated/social-card.webp +0 -0
  234. package/packages/theme-grove/site/assets/generated/theme-mark-192.png +0 -0
  235. package/packages/theme-grove/site/assets/generated/theme-mark-512.png +0 -0
  236. package/packages/theme-grove/site/assets/generated/theme-mark.svg +7 -0
  237. package/packages/theme-grove/site/index.html +1429 -0
  238. package/packages/theme-grove/site/pages/contact.html +664 -0
  239. package/packages/theme-grove/site/pages/gallery.html +216 -0
  240. package/packages/theme-grove/site/pages/privacy.html +180 -0
  241. package/packages/theme-grove/site/pages/process.html +592 -0
  242. package/packages/theme-grove/site/pages/services.html +567 -0
  243. package/packages/theme-grove/site/pages/terms.html +189 -0
  244. package/packages/theme-grove/site/shared/footer.css +140 -0
  245. package/packages/theme-grove/site/shared/footer.html +41 -0
  246. package/packages/{theme-floors-site → theme-grove}/src/index.js +24 -35
  247. package/packages/theme-grove/src/node.js +69 -0
  248. package/packages/theme-grove/test/theme.test.mjs +47 -0
  249. package/packages/theme-harbor/README.md +11 -0
  250. package/packages/{theme-insurance-site → theme-harbor}/package.json +14 -11
  251. package/packages/theme-harbor/prebuild.json +23 -0
  252. package/packages/theme-harbor/site/assets/generated/favicon.svg +7 -0
  253. package/packages/theme-harbor/site/assets/generated/media-manifest.json +17 -0
  254. package/packages/theme-harbor/site/assets/generated/social-card.webp +0 -0
  255. package/packages/theme-harbor/site/assets/generated/theme-mark-192.png +0 -0
  256. package/packages/theme-harbor/site/assets/generated/theme-mark-512.png +0 -0
  257. package/packages/theme-harbor/site/assets/generated/theme-mark.svg +7 -0
  258. package/packages/theme-harbor/site/assets/index-D58RKkr-.js +239 -0
  259. package/packages/theme-harbor/site/assets/index-Dd3YN9Mf.css +1 -0
  260. package/packages/theme-harbor/site/index.html +15 -0
  261. package/packages/theme-harbor/src/index.js +76 -0
  262. package/packages/theme-harbor/src/node.js +69 -0
  263. package/packages/theme-harbor/test/theme.test.mjs +47 -0
  264. package/packages/theme-resolve/README.md +11 -0
  265. package/packages/theme-resolve/package.json +44 -0
  266. package/packages/theme-resolve/prebuild.json +23 -0
  267. package/packages/theme-resolve/site/assets/generated/favicon.svg +7 -0
  268. package/packages/theme-resolve/site/assets/generated/media-216610d365.webp +0 -0
  269. package/packages/theme-resolve/site/assets/generated/media-2a9e0f623f.webp +0 -0
  270. package/packages/theme-resolve/site/assets/generated/media-a70660bfa9.webp +0 -0
  271. package/packages/theme-resolve/site/assets/generated/media-bc1322e813.webp +0 -0
  272. package/packages/theme-resolve/site/assets/generated/media-ced60fcecc.webp +0 -0
  273. package/packages/theme-resolve/site/assets/generated/media-manifest.json +72 -0
  274. package/packages/theme-resolve/site/assets/generated/social-card.webp +0 -0
  275. package/packages/theme-resolve/site/assets/generated/theme-mark-192.png +0 -0
  276. package/packages/theme-resolve/site/assets/generated/theme-mark-512.png +0 -0
  277. package/packages/theme-resolve/site/assets/generated/theme-mark.svg +7 -0
  278. package/packages/theme-resolve/site/assets/index-BSaLpPG1.css +2 -0
  279. package/packages/theme-resolve/site/assets/index-D8au46Z5.js +17 -0
  280. package/packages/theme-resolve/site/index.html +22 -0
  281. package/packages/theme-resolve/src/index.js +69 -0
  282. package/packages/theme-resolve/src/node.js +69 -0
  283. package/packages/theme-resolve/test/theme.test.mjs +47 -0
  284. package/packages/theme-scenes/package.json +1 -1
  285. package/packages/theme-scenes/src/registry.js +32 -49
  286. package/packages/theme-summit/README.md +11 -0
  287. package/packages/{theme-shinshu-site → theme-summit}/package.json +14 -11
  288. package/packages/theme-summit/prebuild.json +23 -0
  289. package/packages/theme-summit/site/adventures.html +450 -0
  290. package/packages/theme-summit/site/assets/generated/favicon.svg +7 -0
  291. package/packages/theme-summit/site/assets/generated/media-1e958ea679.webp +0 -0
  292. package/packages/theme-summit/site/assets/generated/media-9d4521abba.webp +0 -0
  293. package/packages/theme-summit/site/assets/generated/media-manifest.json +39 -0
  294. package/packages/theme-summit/site/assets/generated/social-card.webp +0 -0
  295. package/packages/theme-summit/site/assets/generated/theme-mark-192.png +0 -0
  296. package/packages/theme-summit/site/assets/generated/theme-mark-512.png +0 -0
  297. package/packages/theme-summit/site/assets/generated/theme-mark.svg +7 -0
  298. package/packages/theme-summit/site/business-card.html +315 -0
  299. package/packages/theme-summit/site/chatbot.js +312 -0
  300. package/packages/theme-summit/site/gallery.html +524 -0
  301. package/packages/theme-summit/site/i18n.js +947 -0
  302. package/packages/theme-summit/site/icons.svg +87 -0
  303. package/packages/theme-summit/site/index.html +2415 -0
  304. package/packages/theme-summit/site/pages/about.html +100 -0
  305. package/packages/theme-summit/site/pages/contact.html +117 -0
  306. package/packages/theme-summit/site/pages/dashboard.html +111 -0
  307. package/packages/theme-summit/site/pages/index.html +129 -0
  308. package/packages/theme-summit/site/pages/services.html +125 -0
  309. package/packages/theme-summit/site/shared/footer.html +41 -0
  310. package/packages/theme-summit/site/shared/layout.js +315 -0
  311. package/packages/theme-summit/site/shared/nav.html +19 -0
  312. package/packages/theme-summit/site/shared/styles.css +696 -0
  313. package/packages/theme-summit/site/theme-styles.css +131 -0
  314. package/packages/theme-summit/site/themes.js +442 -0
  315. package/packages/{theme-shinshu-site → theme-summit}/src/index.js +23 -35
  316. package/packages/theme-summit/src/node.js +69 -0
  317. package/packages/theme-summit/test/theme.test.mjs +47 -0
  318. package/packages/theme-violet/README.md +11 -0
  319. package/packages/{theme-companions-site → theme-violet}/package.json +14 -11
  320. package/packages/theme-violet/prebuild.json +23 -0
  321. package/packages/theme-violet/site/assets/generated/favicon.svg +7 -0
  322. package/packages/theme-violet/site/assets/generated/media-07b46d6457.webp +0 -0
  323. package/packages/theme-violet/site/assets/generated/media-09d38ddffc.webp +0 -0
  324. package/packages/theme-violet/site/assets/generated/media-254b0e2ad3.webp +0 -0
  325. package/packages/theme-violet/site/assets/generated/media-3a1b5c0a8d.webp +0 -0
  326. package/packages/theme-violet/site/assets/generated/media-3a78eb7d9d.webp +0 -0
  327. package/packages/theme-violet/site/assets/generated/media-49076977d8.webp +0 -0
  328. package/packages/theme-violet/site/assets/generated/media-6342d50dbd.webp +0 -0
  329. package/packages/theme-violet/site/assets/generated/media-646c65381e.webp +0 -0
  330. package/packages/theme-violet/site/assets/generated/media-7a5fb7c91a.webp +0 -0
  331. package/packages/theme-violet/site/assets/generated/media-9bbd133220.webp +0 -0
  332. package/packages/theme-violet/site/assets/generated/media-9e73307c2a.webp +0 -0
  333. package/packages/theme-violet/site/assets/generated/media-af382146a0.webp +0 -0
  334. package/packages/theme-violet/site/assets/generated/media-b2ae348b43.webp +0 -0
  335. package/packages/theme-violet/site/assets/generated/media-b8f43a3887.webp +0 -0
  336. package/packages/theme-violet/site/assets/generated/media-c96a3e1979.webp +0 -0
  337. package/packages/theme-violet/site/assets/generated/media-cd07daa54a.webp +0 -0
  338. package/packages/theme-violet/site/assets/generated/media-e03ab6b5fe.webp +0 -0
  339. package/packages/theme-violet/site/assets/generated/media-eae4917d25.webp +0 -0
  340. package/packages/theme-violet/site/assets/generated/media-f227ec5690.webp +0 -0
  341. package/packages/theme-violet/site/assets/generated/media-fb57ffd474.webp +0 -0
  342. package/packages/theme-violet/site/assets/generated/media-manifest.json +245 -0
  343. package/packages/theme-violet/site/assets/generated/social-card.webp +0 -0
  344. package/packages/theme-violet/site/assets/generated/theme-mark-192.png +0 -0
  345. package/packages/theme-violet/site/assets/generated/theme-mark-512.png +0 -0
  346. package/packages/theme-violet/site/assets/generated/theme-mark.svg +7 -0
  347. package/packages/theme-violet/site/global/cpas-contact.css +405 -0
  348. package/packages/theme-violet/site/global/cpas-donate-v2.css +931 -0
  349. package/packages/theme-violet/site/global/cpas-drawer-override.css +1 -0
  350. package/packages/theme-violet/site/global/cpas-footer.html +38 -0
  351. package/packages/theme-violet/site/global/cpas-header.html +30 -0
  352. package/packages/theme-violet/site/global/cpas-hero-watercolor.css +275 -0
  353. package/packages/theme-violet/site/global/cpas-modals.js +802 -0
  354. package/packages/theme-violet/site/global/cpas-public-surface.css +982 -0
  355. package/packages/theme-violet/site/global/cpas-shell.css +3980 -0
  356. package/packages/theme-violet/site/global/cpas-shell.js +107 -0
  357. package/packages/theme-violet/site/global/cpas-shelter-hub.css +326 -0
  358. package/packages/theme-violet/site/index.html +141 -0
  359. package/packages/theme-violet/site/pages/about/campaigns.html +28 -0
  360. package/packages/theme-violet/site/pages/about/cta.html +25 -0
  361. package/packages/theme-violet/site/pages/about/hero.html +46 -0
  362. package/packages/theme-violet/site/pages/about/paths.html +24 -0
  363. package/packages/theme-violet/site/pages/about/why_we_exist.html +28 -0
  364. package/packages/theme-violet/site/pages/home/campaigns.html +67 -0
  365. package/packages/theme-violet/site/pages/home/hero.html +42 -0
  366. package/packages/theme-violet/site/pages/home/how-it-helps.html +32 -0
  367. package/packages/theme-violet/site/pages/home/impact-stats.html +31 -0
  368. package/packages/theme-violet/site/pages/home/mission.html +36 -0
  369. package/packages/theme-violet/site/pages/home/newsletter.html +29 -0
  370. package/packages/theme-violet/site/pages/home/transport-win.html +22 -0
  371. package/packages/theme-violet/site/pages/index.html +141 -0
  372. package/packages/theme-violet/src/index.js +76 -0
  373. package/packages/theme-violet/src/node.js +69 -0
  374. package/packages/theme-violet/test/theme.test.mjs +47 -0
  375. package/packages/work-graph/package.json +1 -1
  376. package/protocol/features/README.md +1 -1
  377. package/protocol/features/catalog.json +12 -12
  378. package/protocol/features/examples/provider-resend.feature.json +2 -2
  379. package/protocol/presets/catalog.json +1 -1
  380. package/protocol/theme-refinery/prebuild-registry.json +45 -0
  381. package/protocol/theme-refinery/product-metadata.schema.json +63 -26
  382. package/protocol/theme-refinery/receipts/prebuild-remaster-20261004.json +21 -0
  383. package/src/plugins/completeful.js +2 -2
  384. package/packages/theme-church-site/README.md +0 -10
  385. package/packages/theme-church-site/src/harvest.json +0 -16
  386. package/packages/theme-church-site/test/theme.test.mjs +0 -21
  387. package/packages/theme-companions-site/README.md +0 -10
  388. package/packages/theme-companions-site/src/harvest.json +0 -14
  389. package/packages/theme-companions-site/src/index.js +0 -87
  390. package/packages/theme-companions-site/test/theme.test.mjs +0 -21
  391. package/packages/theme-floors-site/README.md +0 -10
  392. package/packages/theme-floors-site/src/harvest.json +0 -16
  393. package/packages/theme-floors-site/test/theme.test.mjs +0 -21
  394. package/packages/theme-fuelnfree-site/README.md +0 -10
  395. package/packages/theme-fuelnfree-site/src/harvest.json +0 -15
  396. package/packages/theme-fuelnfree-site/test/theme.test.mjs +0 -21
  397. package/packages/theme-handyman-site/README.md +0 -10
  398. package/packages/theme-handyman-site/package.json +0 -41
  399. package/packages/theme-handyman-site/src/harvest.json +0 -12
  400. package/packages/theme-handyman-site/src/index.js +0 -88
  401. package/packages/theme-handyman-site/test/theme.test.mjs +0 -21
  402. package/packages/theme-insurance-site/README.md +0 -10
  403. package/packages/theme-insurance-site/src/harvest.json +0 -12
  404. package/packages/theme-insurance-site/src/index.js +0 -88
  405. package/packages/theme-insurance-site/test/theme.test.mjs +0 -21
  406. package/packages/theme-shinshu-site/README.md +0 -10
  407. package/packages/theme-shinshu-site/src/harvest.json +0 -14
  408. package/packages/theme-shinshu-site/test/theme.test.mjs +0 -21
  409. package/protocol/theme-refinery/lineage-registry.json +0 -105
  410. package/protocol/theme-refinery/receipts/products-registry-batch-20260924.json +0 -318
  411. package/protocol/theme-refinery/receipts/theme-harvest-20260924.json +0 -472
@@ -0,0 +1,512 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html lang="en">
4
+ <head>
5
+ <meta charset="utf-8"/>
6
+ <meta content="width=device-width, initial-scale=1.0" name="viewport"/>
7
+ <title>Model City Missions — Cypress</title>
8
+ <link href="https://fonts.googleapis.com" rel="preconnect"/>
9
+ <link crossorigin="" href="https://fonts.gstatic.com" rel="preconnect"/>
10
+ <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&amp;display=swap" rel="stylesheet"/>
11
+ <link href="./unified-header.css" rel="stylesheet"/>
12
+ <link href="./unified-footer.css" rel="stylesheet"/>
13
+ <script defer="" src="./unified-header.js"></script>
14
+ <style>
15
+ :root {
16
+ /* Light Glass Theme Variables */
17
+ --bg-primary: #fdfbf7;
18
+ --bg-glass-light: rgba(255, 255, 255, 0.85);
19
+ --bg-glass-dark: rgba(37, 99, 235, 0.1);
20
+ --text-primary: #1e293b;
21
+ --text-secondary: #64748b;
22
+ --border-glass: rgba(226, 232, 240, 0.5);
23
+ --shadow-glass: 0 8px 32px rgba(0, 0, 0, 0.08);
24
+ --blue-primary: #2563eb;
25
+ --blue-gradient: linear-gradient(135deg, rgba(37, 99, 235, 0.9), rgba(59, 130, 246, 0.85));
26
+ --font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
27
+ --container-max: 1400px;
28
+ --section-padding: clamp(3rem, 8vw, 6rem);
29
+ }
30
+
31
+ * {
32
+ margin: 0;
33
+ padding: 0;
34
+ box-sizing: border-box;
35
+ }
36
+
37
+ html {
38
+ scroll-behavior: smooth;
39
+ }
40
+
41
+ body {
42
+ font-family: var(--font-body);
43
+ color: var(--text-primary);
44
+ background: var(--bg-primary);
45
+ line-height: 1.6;
46
+ font-size: clamp(16px, 1.5vw, 18px);
47
+ overflow-x: hidden;
48
+ }
49
+
50
+
51
+ /* ===== HERO WITH IMAGE ===== */
52
+ .hero-with-image {
53
+ margin-top: var(--header-height, 120px);
54
+ width: 100%;
55
+ position: relative;
56
+ }
57
+
58
+ .hero-image-wrapper {
59
+ width: 100%;
60
+ height: min(50vh, 500px);
61
+ position: relative;
62
+ overflow: hidden;
63
+ }
64
+
65
+ .hero-full-image {
66
+ width: 100%;
67
+ height: 100%;
68
+ object-fit: cover;
69
+ display: block;
70
+ }
71
+
72
+ .hero-overlay {
73
+ position: absolute;
74
+ bottom: 0;
75
+ left: 0;
76
+ right: 0;
77
+ background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
78
+ padding: clamp(3rem, 6vw, 5rem) clamp(2rem, 4vw, 3rem);
79
+ text-align: center;
80
+ }
81
+
82
+ .hero-title {
83
+ font-size: clamp(36px, 5vw, 64px);
84
+ font-weight: 700;
85
+ color: white;
86
+ margin-bottom: 1rem;
87
+ line-height: 1.2;
88
+ text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
89
+ }
90
+
91
+ .hero-subtitle {
92
+ font-size: clamp(20px, 2.5vw, 28px);
93
+ color: rgba(255, 255, 255, 0.95);
94
+ font-weight: 400;
95
+ line-height: 1.5;
96
+ text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
97
+ }
98
+
99
+ /* ===== SPLIT LAYOUT ===== */
100
+ .split-layout {
101
+ display: grid;
102
+ grid-template-columns: 1fr 1fr;
103
+ gap: clamp(2rem, 4vw, 4rem);
104
+ align-items: center;
105
+ margin-bottom: clamp(3rem, 6vw, 5rem);
106
+ }
107
+
108
+ .split-layout.reverse {
109
+ direction: rtl;
110
+ }
111
+
112
+ .split-layout.reverse>* {
113
+ direction: ltr;
114
+ }
115
+
116
+ .split-image {
117
+ width: 100%;
118
+ height: clamp(300px, 40vw, 500px);
119
+ border-radius: 16px;
120
+ overflow: hidden;
121
+ box-shadow: var(--shadow-glass);
122
+ }
123
+
124
+ .split-image-content {
125
+ width: 100%;
126
+ height: 100%;
127
+ object-fit: cover;
128
+ display: block;
129
+ }
130
+
131
+ .split-content {
132
+ display: flex;
133
+ flex-direction: column;
134
+ justify-content: center;
135
+ }
136
+
137
+ /* ===== PAGE CONTENT ===== */
138
+ .page-section {
139
+ padding: var(--section-padding) clamp(2rem, 4vw, 3rem);
140
+ max-width: var(--container-max);
141
+ margin: 0 auto;
142
+ }
143
+
144
+ .content-block {
145
+ background: var(--bg-glass-light);
146
+ backdrop-filter: blur(10px);
147
+ border: 1px solid var(--border-glass);
148
+ border-radius: 16px;
149
+ padding: clamp(2.5rem, 5vw, 4rem);
150
+ margin-bottom: 3rem;
151
+ box-shadow: var(--shadow-glass);
152
+ }
153
+
154
+ .content-intro {
155
+ font-size: clamp(18px, 2vw, 22px);
156
+ color: var(--text-secondary);
157
+ line-height: 1.8;
158
+ margin-bottom: 2rem;
159
+ }
160
+
161
+ .section-title {
162
+ font-size: clamp(24px, 3vw, 32px);
163
+ font-weight: 700;
164
+ color: var(--text-primary);
165
+ margin-bottom: 1.5rem;
166
+ }
167
+
168
+ .section-text {
169
+ font-size: clamp(16px, 1.5vw, 18px);
170
+ color: var(--text-secondary);
171
+ line-height: 1.8;
172
+ margin-bottom: 2rem;
173
+ }
174
+
175
+ .quote-block {
176
+ background: var(--bg-glass-dark);
177
+ border-left: 4px solid var(--blue-primary);
178
+ padding: clamp(2rem, 4vw, 3rem);
179
+ margin: 3rem 0;
180
+ border-radius: 12px;
181
+ font-style: italic;
182
+ }
183
+
184
+ .quote-text {
185
+ font-size: clamp(18px, 2vw, 22px);
186
+ color: var(--text-primary);
187
+ line-height: 1.7;
188
+ margin-bottom: 1rem;
189
+ }
190
+
191
+ .quote-author {
192
+ font-size: clamp(16px, 1.3vw, 18px);
193
+ color: var(--text-secondary);
194
+ font-style: normal;
195
+ font-weight: 600;
196
+ }
197
+
198
+ /* ===== GALLERY ===== */
199
+ .gallery-section {
200
+ padding: var(--section-padding) clamp(2rem, 4vw, 3rem);
201
+ max-width: var(--container-max);
202
+ margin: 0 auto;
203
+ }
204
+
205
+ .gallery-title {
206
+ font-size: clamp(28px, 3vw, 40px);
207
+ font-weight: 700;
208
+ color: var(--text-primary);
209
+ text-align: center;
210
+ margin-bottom: clamp(3rem, 6vw, 4rem);
211
+ }
212
+
213
+ .gallery-grid {
214
+ display: grid;
215
+ grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr));
216
+ gap: clamp(1.5rem, 3vw, 2rem);
217
+ }
218
+
219
+ .gallery-item {
220
+ background: var(--bg-glass-light);
221
+ backdrop-filter: blur(10px);
222
+ border: 1px solid var(--border-glass);
223
+ border-radius: 16px;
224
+ overflow: hidden;
225
+ box-shadow: var(--shadow-glass);
226
+ transition: transform 0.3s ease, box-shadow 0.3s ease;
227
+ }
228
+
229
+ .gallery-item:hover {
230
+ transform: translateY(-4px);
231
+ box-shadow: 0 16px 48px rgba(0, 0, 0, 0.12);
232
+ }
233
+
234
+ .gallery-image {
235
+ width: 100%;
236
+ height: clamp(250px, 35vw, 350px);
237
+ object-fit: cover;
238
+ display: block;
239
+ }
240
+
241
+ .gallery-caption {
242
+ padding: clamp(1rem, 2vw, 1.5rem);
243
+ color: var(--text-secondary);
244
+ font-size: clamp(14px, 1.2vw, 16px);
245
+ line-height: 1.6;
246
+ }
247
+
248
+ /* ===== CTA SECTION ===== */
249
+ .cta-section {
250
+ padding: var(--section-padding) clamp(2rem, 4vw, 3rem);
251
+ max-width: var(--container-max);
252
+ margin: 0 auto;
253
+ text-align: center;
254
+ }
255
+
256
+ .cta-headline {
257
+ font-size: clamp(28px, 3vw, 40px);
258
+ font-weight: 700;
259
+ color: var(--text-primary);
260
+ margin-bottom: 1rem;
261
+ }
262
+
263
+ .cta-description {
264
+ font-size: clamp(16px, 1.5vw, 18px);
265
+ color: var(--text-secondary);
266
+ margin-bottom: clamp(2rem, 4vw, 3rem);
267
+ max-width: 700px;
268
+ margin-left: auto;
269
+ margin-right: auto;
270
+ }
271
+
272
+ .cta-row {
273
+ display: flex;
274
+ gap: clamp(1rem, 2vw, 1.5rem);
275
+ justify-content: center;
276
+ flex-wrap: wrap;
277
+ }
278
+
279
+ .btn-cta {
280
+ min-height: 48px;
281
+ padding: 14px clamp(24px, 3vw, 32px);
282
+ background: var(--blue-gradient);
283
+ backdrop-filter: blur(10px);
284
+ border: 1px solid transparent;
285
+ border-radius: 12px;
286
+ color: white;
287
+ font-family: var(--font-body);
288
+ font-weight: 600;
289
+ font-size: clamp(15px, 1.2vw, 16px);
290
+ text-decoration: none;
291
+ cursor: pointer;
292
+ transition: all 0.3s ease;
293
+ box-shadow: 0 4px 16px rgba(37, 99, 235, 0.3);
294
+ display: inline-flex;
295
+ align-items: center;
296
+ justify-content: center;
297
+ }
298
+
299
+ .btn-cta:hover {
300
+ background: linear-gradient(135deg, rgba(30, 64, 175, 0.95), rgba(37, 99, 235, 0.9));
301
+ color: white;
302
+ border-color: transparent;
303
+ transform: translateY(-2px);
304
+ box-shadow: 0 12px 40px rgba(37, 99, 235, 0.4);
305
+ }
306
+
307
+ @media (max-width: 768px) {
308
+ .hero-image-wrapper {
309
+ height: min(50vh, 500px);
310
+ }
311
+
312
+ .hero-overlay {
313
+ padding: 2rem 1.5rem;
314
+ }
315
+
316
+ .split-layout,
317
+ .split-layout.reverse {
318
+ grid-template-columns: 1fr;
319
+ gap: 2rem;
320
+ }
321
+
322
+ .split-image {
323
+ height: clamp(250px, 50vw, 400px);
324
+ order: 1;
325
+ }
326
+
327
+ .split-content {
328
+ order: 2;
329
+ }
330
+
331
+ .gallery-grid {
332
+ grid-template-columns: 1fr;
333
+ }
334
+ }
335
+
336
+ @media (min-width: 2560px) {
337
+ .gallery-grid {
338
+ grid-template-columns: repeat(4, 1fr);
339
+ }
340
+ }
341
+ </style>
342
+ <link href="https://example.com/mission.html" rel="canonical"/><meta content="Explore Cypress, a warm community website prebuild with clear paths to events, groups, giving, visits, and the mission behind the work." name="description"/><meta content="index,follow,max-image-preview:large" name="robots"/><meta content="#10211b" name="theme-color"/><meta content="website" property="og:type"/><meta content="Model City Missions — Cypress" property="og:title"/><meta content="Explore Cypress, a warm community website prebuild with clear paths to events, groups, giving, visits, and the mission behind the work." property="og:description"/><meta content="https://example.com/mission.html" property="og:url"/><meta content="https://example.com/assets/generated/social-card.webp" property="og:image"/><meta content="summary_large_image" name="twitter:card"/><meta content="Model City Missions — Cypress" name="twitter:title"/><meta content="Explore Cypress, a warm community website prebuild with clear paths to events, groups, giving, visits, and the mission behind the work." name="twitter:description"/><meta content="https://example.com/assets/generated/social-card.webp" name="twitter:image"/><script data-agentsam-seo="theme-remaster" type="application/ld+json">{"@context": "https://schema.org", "@type": "WebSite", "name": "Cypress Commons", "description": "Explore Cypress, a warm community website prebuild with clear paths to events, groups, giving, visits, and the mission behind the work.", "url": "https://example.com/mission.html", "isPartOf": {"@type": "CreativeWork", "name": "Cypress AgentSam Prebuild"}}</script></head>
343
+ <body>
344
+ <!-- Unified Header injected by JS -->
345
+ <!-- ===== HERO SECTION WITH IMAGE ===== -->
346
+ <section class="hero-with-image">
347
+ <div class="hero-image-wrapper">
348
+ <img alt="Model City Missions volunteers serving River Parish" class="hero-full-image" loading="eager" src="/assets/generated/media-1539ed373a.webp"/>
349
+ <div class="hero-overlay">
350
+ <h1 class="hero-title">Model City Missions</h1>
351
+ <p class="hero-subtitle">Serving River Parish with hands-on love — one home at a time.</p>
352
+ </div>
353
+ </div>
354
+ </section>
355
+ <!-- ===== SUMMARY WITH IMAGE ===== -->
356
+ <section class="page-section">
357
+ <div class="split-layout">
358
+ <div class="split-image">
359
+ <img alt="Volunteers working together" class="split-image-content" loading="lazy" src="/assets/generated/media-1539ed373a.webp"/>
360
+ </div>
361
+ <div class="split-content">
362
+ <h2 class="section-title">Faith Lived, Not Just Spoken</h2>
363
+ <p class="section-text">
364
+ We believe the church exists to make disciples and serve our community. We believe faith isn't just
365
+ something we believe — it's something we live. That's why Model City Missions exists: to show up for
366
+ our neighbors with hands-on love.
367
+ </p>
368
+ <p class="section-text" style="margin-top: 1.5rem;">
369
+ Since 2017, volunteers from River Parish and across the country have come together each year to paint,
370
+ renovate, and restore local homes — completely free — for families in our community. This is faith
371
+ in action: serving alongside our friends and neighbors, making River Parish a better place to live.
372
+ </p>
373
+ </div>
374
+ </div>
375
+ </section>
376
+ <!-- ===== WHAT IT IS WITH IMAGE ===== -->
377
+ <section class="page-section">
378
+ <div class="split-layout reverse">
379
+ <div class="split-image">
380
+ <img alt="Painting homes with purpose" class="split-image-content" loading="lazy" src="/assets/generated/media-1539ed373a.webp"/>
381
+ </div>
382
+ <div class="split-content">
383
+ <h2 class="section-title">What It Is</h2>
384
+ <p class="section-text">
385
+ We believe in living the love of Christ publicly. Model City Missions is a community outreach effort
386
+ focused on home improvement and neighborhood restoration. Volunteers work side-by-side to paint,
387
+ repair, and renew homes for local residents at no cost — because loving your neighbor means showing
388
+ up for them.
389
+ </p>
390
+ <p class="section-text" style="margin-top: 1.5rem;">
391
+ This is how we live out what we believe: that God transforms lives through service, that the Holy
392
+ Spirit empowers us to help others, and that the church is called to be the hands and feet of Jesus
393
+ in our community.
394
+ </p>
395
+ </div>
396
+ </div>
397
+ </section>
398
+ <!-- ===== QUOTE BLOCK ===== -->
399
+ <section class="page-section">
400
+ <div class="quote-block" style="position: relative; overflow: hidden;">
401
+ <div style="display: flex; align-items: flex-start; gap: 1.5rem;">
402
+ <img alt="Kenny Wright, Minister" loading="lazy" src="/assets/generated/media-87a490bc8e.webp" style="width: 100px; height: 100px; border-radius: 50%; object-fit: cover; flex-shrink: 0; border: 3px solid var(--blue-primary); box-shadow: 0 4px 12px rgba(0,0,0,0.15);"/>
403
+ <div style="flex: 1;">
404
+ <p class="quote-text">
405
+ "Rather than just come to church and talk about it, we do anything we can to be in our community
406
+ —
407
+ serving alongside our friends and neighbors and making River Parish a better place to live."
408
+ </p>
409
+ <p class="quote-author">— Kenny Wright, Minister</p>
410
+ </div>
411
+ </div>
412
+ </div>
413
+ </section>
414
+ <!-- ===== YOUTH IMPACT WITH IMAGE ===== -->
415
+ <section class="page-section">
416
+ <div class="split-layout">
417
+ <div class="split-image">
418
+ <img alt="Youth volunteers serving" class="split-image-content" loading="lazy" src="/assets/generated/media-1539ed373a.webp"/>
419
+ </div>
420
+ <div class="split-content">
421
+ <h2 class="section-title">The Next Generation Leading</h2>
422
+ <p class="section-text">
423
+ We believe God transforms us into His image as revealed in Jesus Christ. Transformation begins at
424
+ salvation, is sustained by grace, and grows as our lives are increasingly aligned with God's will.
425
+ We see that transformation happening in the next generation.
426
+ </p>
427
+ <p class="section-text" style="margin-top: 1.5rem;">
428
+ Every summer, around 50 youth volunteers join the mission — including groups from River Parish and out
429
+ of state (Texas, Oregon, Oklahoma and more). They give up vacation time to serve in Louisiana heat —
430
+ proving the next generation is ready to live out their faith with humility and courage. This is what
431
+ it looks like when young people understand that following Jesus means serving others.
432
+ </p>
433
+ </div>
434
+ </div>
435
+ </section>
436
+ <!-- ===== GALLERY SECTION ===== -->
437
+ <section class="gallery-section">
438
+ <h2 class="gallery-title">Our Mission in Action</h2>
439
+ <div class="gallery-grid">
440
+ <div class="gallery-item">
441
+ <img alt="Volunteers serving River Parish" class="gallery-image" loading="lazy" src="/assets/generated/media-1539ed373a.webp"/>
442
+ <p class="gallery-caption">Volunteers serving River Parish</p>
443
+ </div>
444
+ <div class="gallery-item">
445
+ <img alt="A mission that brings generations together" class="gallery-image" loading="lazy" src="/assets/generated/media-1539ed373a.webp"/>
446
+ <p class="gallery-caption">A mission that brings generations together</p>
447
+ </div>
448
+ <div class="gallery-item">
449
+ <img alt="Hands-on care for neighbors" class="gallery-image" loading="lazy" src="/assets/generated/media-1539ed373a.webp"/>
450
+ <p class="gallery-caption">Hands-on care for neighbors</p>
451
+ </div>
452
+ <div class="gallery-item">
453
+ <img alt="Grateful for our faithful volunteers" class="gallery-image" loading="lazy" src="/assets/generated/media-1539ed373a.webp"/>
454
+ <p class="gallery-caption">Grateful for our faithful volunteers</p>
455
+ </div>
456
+ <div class="gallery-item">
457
+ <img alt="Youth groups from across the country join the mission" class="gallery-image" loading="lazy" src="/assets/generated/media-1539ed373a.webp"/>
458
+ <p class="gallery-caption">Youth groups from across the country join the mission</p>
459
+ </div>
460
+ <div class="gallery-item">
461
+ <img alt="Working together to restore homes" class="gallery-image" loading="lazy" src="/assets/generated/media-1539ed373a.webp"/>
462
+ <p class="gallery-caption">Working together to restore homes</p>
463
+ </div>
464
+ <div class="gallery-item">
465
+ <img alt="Painting homes with purpose" class="gallery-image" loading="lazy" src="/assets/generated/media-1539ed373a.webp"/>
466
+ <p class="gallery-caption">Painting homes with purpose</p>
467
+ </div>
468
+ <div class="gallery-item">
469
+ <img alt="One brushstroke at a time" class="gallery-image" loading="lazy" src="/assets/generated/media-1539ed373a.webp"/>
470
+ <p class="gallery-caption">One brushstroke at a time</p>
471
+ </div>
472
+ <div class="gallery-item">
473
+ <img alt="Restoring homes at no cost" class="gallery-image" loading="lazy" src="/assets/generated/media-1539ed373a.webp"/>
474
+ <p class="gallery-caption">Restoring homes at no cost</p>
475
+ </div>
476
+ <div class="gallery-item">
477
+ <img alt="Model City Missions in action" class="gallery-image" loading="lazy" src="/assets/generated/media-1539ed373a.webp"/>
478
+ <p class="gallery-caption">Serving our community with love</p>
479
+ </div>
480
+ </div>
481
+ </section>
482
+ <!-- ===== VOLUNTEER CTA SECTION ===== -->
483
+ <section class="cta-section">
484
+ <h2 class="cta-headline">Want to be part of it?</h2>
485
+ <p class="cta-description">
486
+ Serve with Model City Missions and help restore homes, encourage families, and strengthen our community.
487
+ </p>
488
+ <div class="cta-row">
489
+ <a class="btn-cta" href="#" onclick="openModal('question'); return false;">Join the Mission</a>
490
+ <a class="btn-cta" href="#" onclick="openModal('question'); return false;">Volunteer This Summer</a>
491
+ <a class="btn-cta" href="#" onclick="openModal('question'); return false;">Partner / Sponsor Supplies</a>
492
+ <a class="btn-cta" href="#" onclick="openModal('question'); return false;">Submit a Need (Home
493
+ Nomination)</a>
494
+ </div>
495
+ </section>
496
+ <footer id="unified-footer"></footer>
497
+ <script src="./unified-footer.js"></script>
498
+ <script>
499
+ function openChatbot() {
500
+ if (window.openModal) {
501
+ window.openModal('question');
502
+ }
503
+ }
504
+
505
+ function openModal(type) {
506
+ if (window.openModal) {
507
+ window.openModal(type);
508
+ }
509
+ }
510
+ </script>
511
+ </body>
512
+ </html>
@@ -0,0 +1,172 @@
1
+ /* Unified Footer Styles - MASTER REMASTER */
2
+ :root {
3
+ --bg-footer-dark: #0f172a;
4
+ --footer-text: #94a3b8;
5
+ --footer-heading: #f8fafc;
6
+ --footer-accent: #3b82f6;
7
+ --footer-border: rgba(255, 255, 255, 0.05);
8
+ }
9
+
10
+ footer {
11
+ background: var(--bg-footer-dark);
12
+ color: var(--footer-text);
13
+ padding: clamp(4rem, 10vw, 8rem) 0 3rem;
14
+ border-top: 1px solid var(--footer-border);
15
+ position: relative;
16
+ overflow: hidden;
17
+ }
18
+
19
+ footer::before {
20
+ content: '';
21
+ position: absolute;
22
+ top: 0;
23
+ left: 0;
24
+ right: 0;
25
+ height: 1px;
26
+ background: linear-gradient(90deg, transparent, var(--footer-accent), transparent);
27
+ }
28
+
29
+ .footer-container {
30
+ max-width: 1400px;
31
+ margin: 0 auto;
32
+ padding: 0 2rem;
33
+ }
34
+
35
+ .footer-grid {
36
+ display: grid;
37
+ grid-template-columns: 1.5fr 1fr 1fr 1.2fr;
38
+ gap: 4rem;
39
+ margin-bottom: 4rem;
40
+ }
41
+
42
+ .footer-brand {
43
+ display: flex;
44
+ flex-direction: column;
45
+ gap: 1.5rem;
46
+ }
47
+
48
+ .footer-logo {
49
+ height: 90px;
50
+ width: auto;
51
+ object-fit: contain;
52
+ opacity: 1;
53
+ }
54
+
55
+ .footer-brand-text {
56
+ line-height: 1.6;
57
+ font-size: 0.95rem;
58
+ }
59
+
60
+ .footer-nav-col h3 {
61
+ color: var(--footer-heading);
62
+ font-size: 1.1rem;
63
+ font-weight: 700;
64
+ margin-bottom: 2rem;
65
+ position: relative;
66
+ }
67
+
68
+ .footer-nav-col h3::after {
69
+ content: '';
70
+ position: absolute;
71
+ left: 0;
72
+ bottom: -8px;
73
+ width: 24px;
74
+ height: 2px;
75
+ background: var(--footer-accent);
76
+ }
77
+
78
+ .footer-nav-col ul {
79
+ list-style: none;
80
+ padding: 0;
81
+ }
82
+
83
+ .footer-nav-col li {
84
+ margin-bottom: 1rem;
85
+ }
86
+
87
+ .footer-nav-col a {
88
+ color: var(--footer-text);
89
+ text-decoration: none;
90
+ transition: all 0.3s ease;
91
+ font-size: 0.95rem;
92
+ display: inline-block;
93
+ }
94
+
95
+ .footer-nav-col a:hover {
96
+ color: var(--footer-accent);
97
+ transform: translateX(4px);
98
+ }
99
+
100
+ .footer-contact-item {
101
+ display: flex;
102
+ gap: 1rem;
103
+ margin-bottom: 1.5rem;
104
+ }
105
+
106
+ .footer-contact-icon {
107
+ color: var(--footer-accent);
108
+ flex-shrink: 0;
109
+ width: 20px;
110
+ }
111
+
112
+ .footer-bottom {
113
+ padding-top: 3rem;
114
+ border-top: 1px solid var(--footer-border);
115
+ display: flex;
116
+ justify-content: space-between;
117
+ align-items: center;
118
+ font-size: 0.875rem;
119
+ }
120
+
121
+ .footer-bottom-links {
122
+ display: flex;
123
+ gap: 2rem;
124
+ }
125
+
126
+ .footer-bottom-links a {
127
+ color: var(--footer-text);
128
+ text-decoration: none;
129
+ }
130
+
131
+ .footer-bottom-links a:hover {
132
+ color: var(--footer-accent);
133
+ }
134
+
135
+ @media (max-width: 1024px) {
136
+ .footer-grid {
137
+ grid-template-columns: 1fr 1fr;
138
+ gap: 3rem;
139
+ }
140
+ }
141
+
142
+ @media (max-width: 640px) {
143
+ .footer-grid {
144
+ grid-template-columns: 1fr;
145
+ gap: 2.5rem;
146
+ }
147
+
148
+ .footer-bottom {
149
+ flex-direction: column;
150
+ gap: 1.5rem;
151
+ text-align: center;
152
+ }
153
+ }
154
+
155
+ /* Modal Enhancements */
156
+ .modal {
157
+ border-radius: 24px;
158
+ border: 1px solid rgba(0, 0, 0, 0.05);
159
+ }
160
+
161
+ .form-input,
162
+ .form-textarea {
163
+ border: 1px solid #e2e8f0;
164
+ background: #f8fafc;
165
+ transition: all 0.2s ease;
166
+ }
167
+
168
+ .form-input:focus,
169
+ .form-textarea:focus {
170
+ background: #fff;
171
+ box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.1);
172
+ }