@rubytech/create-maxy-code 0.1.113 → 0.1.115

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 (724) hide show
  1. package/dist/__tests__/installer-specialist-registration.test.js +40 -1
  2. package/dist/__tests__/premium-bundle-gate.test.js +59 -0
  3. package/dist/index.js +24 -1
  4. package/dist/specialist-registration.js +15 -0
  5. package/package.json +1 -1
  6. package/payload/platform/config/brand.json +1 -1
  7. package/payload/platform/neo4j/schema.cypher +8 -3
  8. package/payload/platform/plugins/.claude-plugin/marketplace.json +0 -5
  9. package/payload/platform/plugins/admin/skills/public-agent-manager/SKILL.md +14 -7
  10. package/payload/platform/plugins/contacts/mcp/dist/index.js +3 -3
  11. package/payload/platform/plugins/contacts/mcp/dist/index.js.map +1 -1
  12. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-create.js +1 -1
  13. package/payload/platform/plugins/docs/references/contacts-guide.md +1 -9
  14. package/payload/platform/plugins/docs/references/getting-started.md +1 -1
  15. package/payload/platform/plugins/docs/references/internals.md +10 -26
  16. package/payload/platform/plugins/docs/references/platform.md +1 -1
  17. package/payload/platform/plugins/docs/references/plugins-guide.md +1 -2
  18. package/payload/platform/plugins/linkedin-import/PLUGIN.md +1 -1
  19. package/payload/platform/plugins/memory/PLUGIN.md +3 -2
  20. package/payload/platform/plugins/sales/.claude-plugin/plugin.json +1 -1
  21. package/payload/platform/plugins/sales/PLUGIN.md +9 -9
  22. package/payload/platform/plugins/sales/references/close-tracking.md +6 -6
  23. package/payload/platform/plugins/sales/references/faq.md +1 -5
  24. package/payload/platform/plugins/sales/references/objection-handling.md +2 -2
  25. package/payload/platform/plugins/scheduling/PLUGIN.md +1 -1
  26. package/payload/platform/plugins/scheduling/mcp/dist/index.js +2 -2
  27. package/payload/platform/plugins/scheduling/mcp/dist/index.js.map +1 -1
  28. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/getUserTimezone.test.js +1 -1
  29. package/payload/platform/plugins/venture-studio/skills/office-hours/SKILL.md +3 -3
  30. package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/landing-page.md +4 -4
  31. package/payload/platform/plugins/whatsapp/.claude-plugin/plugin.json +9 -0
  32. package/payload/platform/plugins/whatsapp/PLUGIN.md +1 -1
  33. package/payload/platform/plugins/workflows/PLUGIN.md +1 -1
  34. package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-execute.d.ts +1 -1
  35. package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-execute.js +2 -2
  36. package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-execute.js.map +1 -1
  37. package/payload/platform/scripts/conversation-id-allowlist.txt +0 -7
  38. package/payload/platform/services/claude-session-manager/dist/brand-foreign-filter.d.ts +30 -0
  39. package/payload/platform/services/claude-session-manager/dist/brand-foreign-filter.d.ts.map +1 -0
  40. package/payload/platform/services/claude-session-manager/dist/brand-foreign-filter.js +86 -0
  41. package/payload/platform/services/claude-session-manager/dist/brand-foreign-filter.js.map +1 -0
  42. package/payload/platform/services/claude-session-manager/dist/http-server.d.ts.map +1 -1
  43. package/payload/platform/services/claude-session-manager/dist/http-server.js +42 -1
  44. package/payload/platform/services/claude-session-manager/dist/http-server.js.map +1 -1
  45. package/payload/platform/services/claude-session-manager/dist/index.js +51 -9
  46. package/payload/platform/services/claude-session-manager/dist/index.js.map +1 -1
  47. package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts +34 -0
  48. package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts.map +1 -1
  49. package/payload/platform/services/claude-session-manager/dist/pty-spawner.js +118 -6
  50. package/payload/platform/services/claude-session-manager/dist/pty-spawner.js.map +1 -1
  51. package/payload/platform/services/claude-session-manager/dist/system-prompt.d.ts +7 -0
  52. package/payload/platform/services/claude-session-manager/dist/system-prompt.d.ts.map +1 -1
  53. package/payload/platform/services/claude-session-manager/dist/system-prompt.js +7 -0
  54. package/payload/platform/services/claude-session-manager/dist/system-prompt.js.map +1 -1
  55. package/payload/platform/templates/specialists/agents/project-manager.md +1 -3
  56. package/payload/premium-plugins/.claude-plugin/marketplace.json +0 -10
  57. package/payload/premium-plugins/venture-studio/skills/office-hours/SKILL.md +3 -3
  58. package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/landing-page.md +4 -4
  59. package/payload/server/{chunk-FSPPVVWM.js → chunk-FJCI6X3H.js} +192 -0
  60. package/payload/server/maxy-edge.js +1 -1
  61. package/payload/server/public/assets/{ChatInput-CsnIedhS.js → ChatInput-CJo_77bp.js} +5 -1
  62. package/payload/server/public/assets/{Checkbox-CWugFyFT.js → Checkbox-YrQovXpN.js} +1 -1
  63. package/payload/server/public/assets/{admin-D3gZuyUn.js → admin-DOxHsV7g.js} +25 -25
  64. package/payload/server/public/assets/{architectureDiagram-Q4EWVU46-CeTRKWDb.js → architectureDiagram-Q4EWVU46-Breg9-99.js} +1 -1
  65. package/payload/server/public/assets/{blockDiagram-DXYQGD6D-DeeIX5U3.js → blockDiagram-DXYQGD6D-DXf1_673.js} +1 -1
  66. package/payload/server/public/assets/{c4Diagram-AHTNJAMY-CFsqZuil.js → c4Diagram-AHTNJAMY-CSZ36W4-.js} +1 -1
  67. package/payload/server/public/assets/channel-BmZnt3PP.js +1 -0
  68. package/payload/server/public/assets/{chunk-336JU56O-DpIXuFM0.js → chunk-336JU56O-DsrLk2eK.js} +2 -2
  69. package/payload/server/public/assets/{chunk-426QAEUC-Qk8qqrvA.js → chunk-426QAEUC-JpNfNf81.js} +1 -1
  70. package/payload/server/public/assets/{chunk-4TB4RGXK-DtM8-CUn.js → chunk-4TB4RGXK-DmClEAD0.js} +1 -1
  71. package/payload/server/public/assets/{chunk-5FUZZQ4R-CrSQ4ySU.js → chunk-5FUZZQ4R-BI9blW3N.js} +1 -1
  72. package/payload/server/public/assets/{chunk-5PVQY5BW-Bn2nQwdj.js → chunk-5PVQY5BW-BbgttEFO.js} +1 -1
  73. package/payload/server/public/assets/{chunk-EDXVE4YY-CzCPnR0P.js → chunk-EDXVE4YY-BX_LCFOx.js} +1 -1
  74. package/payload/server/public/assets/{chunk-ENJZ2VHE-CgZj9RoG.js → chunk-ENJZ2VHE-Bb7EoD0w.js} +1 -1
  75. package/payload/server/public/assets/{chunk-ICPOFSXX-wy-eNjwW.js → chunk-ICPOFSXX-DH8uQk-s.js} +1 -1
  76. package/payload/server/public/assets/{chunk-OYMX7WX6-CMmJtL8S.js → chunk-OYMX7WX6-FH5kgXsw.js} +1 -1
  77. package/payload/server/public/assets/{chunk-U2HBQHQK-CFCW7OaT.js → chunk-U2HBQHQK-D_ljlkHr.js} +1 -1
  78. package/payload/server/public/assets/{chunk-X2U36JSP-Bgh-CJSN.js → chunk-X2U36JSP-BX3EmZvm.js} +1 -1
  79. package/payload/server/public/assets/{chunk-YZCP3GAM-BXKwZ4vN.js → chunk-YZCP3GAM-Vu7-E93h.js} +1 -1
  80. package/payload/server/public/assets/{chunk-ZZ45TVLE-BiOuK5NP.js → chunk-ZZ45TVLE-CwjhNPX5.js} +1 -1
  81. package/payload/server/public/assets/classDiagram-6PBFFD2Q-kmMLFUpV.js +1 -0
  82. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-BV7Ae8ct.js +1 -0
  83. package/payload/server/public/assets/clone-B5eqoN9I.js +1 -0
  84. package/payload/server/public/assets/{dagre-DyCxa9Q2.js → dagre-Ce6gsj0C.js} +1 -1
  85. package/payload/server/public/assets/{dagre-KV5264BT-Cffo_hmf.js → dagre-KV5264BT-BaMGpsoy.js} +1 -1
  86. package/payload/server/public/assets/data-NMvGx6jm.js +1 -0
  87. package/payload/server/public/assets/{diagram-5BDNPKRD-Bt93Du3V.js → diagram-5BDNPKRD-CHEE9rjq.js} +1 -1
  88. package/payload/server/public/assets/{diagram-G4DWMVQ6-v4r-tBsC.js → diagram-G4DWMVQ6-C98sZLW1.js} +1 -1
  89. package/payload/server/public/assets/{diagram-MMDJMWI5-DKrVPOP-.js → diagram-MMDJMWI5-DNvMGsTZ.js} +1 -1
  90. package/payload/server/public/assets/{diagram-TYMM5635-B1PzWQb9.js → diagram-TYMM5635-Cdte4IBa.js} +1 -1
  91. package/payload/server/public/assets/{erDiagram-SMLLAGMA-ClQzsQAs.js → erDiagram-SMLLAGMA-C9VZsWXK.js} +1 -1
  92. package/payload/server/public/assets/{flowDiagram-DWJPFMVM-h3IbpN_7.js → flowDiagram-DWJPFMVM-tuP5fzzR.js} +1 -1
  93. package/payload/server/public/assets/{ganttDiagram-T4ZO3ILL-ClaxOJi8.js → ganttDiagram-T4ZO3ILL-SJgRPUwx.js} +1 -1
  94. package/payload/server/public/assets/{gitGraphDiagram-UUTBAWPF-pM-U4ClD.js → gitGraphDiagram-UUTBAWPF-DU_cI_50.js} +1 -1
  95. package/payload/server/public/assets/graph-BkwTCV2Y.js +1 -0
  96. package/payload/server/public/assets/graph-labels-h39S93Xo.js +1 -0
  97. package/payload/server/public/assets/{graphlib-CwimOv_M.js → graphlib-D_nAsvmx.js} +1 -1
  98. package/payload/server/public/assets/{infoDiagram-42DDH7IO-DcO3Giwe.js → infoDiagram-42DDH7IO-Cj2Y19m6.js} +1 -1
  99. package/payload/server/public/assets/{ishikawaDiagram-UXIWVN3A-BcdSL5VS.js → ishikawaDiagram-UXIWVN3A-DMc1xq1y.js} +1 -1
  100. package/payload/server/public/assets/{journeyDiagram-VCZTEJTY-CYahHYzf.js → journeyDiagram-VCZTEJTY-C4CRAQma.js} +1 -1
  101. package/payload/server/public/assets/{kanban-definition-6JOO6SKY-Cl5KhoS4.js → kanban-definition-6JOO6SKY-CTr4AldU.js} +1 -1
  102. package/payload/server/public/assets/lib-Bnh57com.js +29 -0
  103. package/payload/server/public/assets/{line-d_2oTxLp.js → line-Btlm_IAl.js} +1 -1
  104. package/payload/server/public/assets/{mermaid-parser.core-CMMDGv3x.js → mermaid-parser.core-DXFdj_y1.js} +1 -1
  105. package/payload/server/public/assets/{mermaid.core-DK9ENGbr.js → mermaid.core-DFBhoCr5.js} +3 -3
  106. package/payload/server/public/assets/{mindmap-definition-QFDTVHPH-mA3x3MFG.js → mindmap-definition-QFDTVHPH-r9gVQybo.js} +1 -1
  107. package/payload/server/public/assets/{page-CgDmg_fX.js → page-B0iMmY6t.js} +1 -1
  108. package/payload/server/public/assets/{page-D9lluVl7.js → page-zQ79YCEt.js} +2 -2
  109. package/payload/server/public/assets/{pieDiagram-DEJITSTG-CW1nGFlY.js → pieDiagram-DEJITSTG-CHKZjSaH.js} +1 -1
  110. package/payload/server/public/assets/{public-DdLMkNdS.js → public-DyGWgfaZ.js} +4 -4
  111. package/payload/server/public/assets/{quadrantDiagram-34T5L4WZ-DI5igJhR.js → quadrantDiagram-34T5L4WZ-CSGR1HJr.js} +1 -1
  112. package/payload/server/public/assets/{requirementDiagram-MS252O5E-DyVeI4e_.js → requirementDiagram-MS252O5E-DZ6hX9D6.js} +1 -1
  113. package/payload/server/public/assets/{sankeyDiagram-XADWPNL6-CCTTBYKY.js → sankeyDiagram-XADWPNL6-DbZBKh0m.js} +1 -1
  114. package/payload/server/public/assets/{sequenceDiagram-FGHM5R23-hVVf35ly.js → sequenceDiagram-FGHM5R23-BHHpb8dt.js} +1 -1
  115. package/payload/server/public/assets/{stateDiagram-FHFEXIEX-CSLuQDUX.js → stateDiagram-FHFEXIEX-DQ1jiLB4.js} +1 -1
  116. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-CByT2RzF.js +1 -0
  117. package/payload/server/public/assets/{timeline-definition-GMOUNBTQ-sxC3W8Q4.js → timeline-definition-GMOUNBTQ-BlGiEU7p.js} +1 -1
  118. package/payload/server/public/assets/{vennDiagram-DHZGUBPP-Ro-ton6Z.js → vennDiagram-DHZGUBPP-DmEH-hsB.js} +1 -1
  119. package/payload/server/public/assets/{wardleyDiagram-NUSXRM2D-T-dKD0Zx.js → wardleyDiagram-NUSXRM2D-C7KJJ40d.js} +1 -1
  120. package/payload/server/public/assets/{xychartDiagram-5P7HB3ND-CfProPts.js → xychartDiagram-5P7HB3ND-JDnusCaa.js} +1 -1
  121. package/payload/server/public/data.html +4 -4
  122. package/payload/server/public/graph.html +5 -5
  123. package/payload/server/public/index.html +7 -7
  124. package/payload/server/public/public.html +4 -4
  125. package/payload/server/server.js +144 -49
  126. package/payload/platform/plugins/waitlist/.claude-plugin/plugin.json +0 -17
  127. package/payload/platform/plugins/waitlist/PLUGIN.md +0 -86
  128. package/payload/platform/plugins/waitlist/mcp/dist/index.d.ts +0 -2
  129. package/payload/platform/plugins/waitlist/mcp/dist/index.d.ts.map +0 -1
  130. package/payload/platform/plugins/waitlist/mcp/dist/index.js +0 -388
  131. package/payload/platform/plugins/waitlist/mcp/dist/index.js.map +0 -1
  132. package/payload/platform/plugins/waitlist/mcp/dist/lib/admin-model.d.ts +0 -16
  133. package/payload/platform/plugins/waitlist/mcp/dist/lib/admin-model.d.ts.map +0 -1
  134. package/payload/platform/plugins/waitlist/mcp/dist/lib/admin-model.js +0 -58
  135. package/payload/platform/plugins/waitlist/mcp/dist/lib/admin-model.js.map +0 -1
  136. package/payload/platform/plugins/waitlist/mcp/dist/lib/embedding.d.ts +0 -3
  137. package/payload/platform/plugins/waitlist/mcp/dist/lib/embedding.d.ts.map +0 -1
  138. package/payload/platform/plugins/waitlist/mcp/dist/lib/embedding.js +0 -48
  139. package/payload/platform/plugins/waitlist/mcp/dist/lib/embedding.js.map +0 -1
  140. package/payload/platform/plugins/waitlist/mcp/dist/lib/neo4j.d.ts +0 -5
  141. package/payload/platform/plugins/waitlist/mcp/dist/lib/neo4j.d.ts.map +0 -1
  142. package/payload/platform/plugins/waitlist/mcp/dist/lib/neo4j.js +0 -40
  143. package/payload/platform/plugins/waitlist/mcp/dist/lib/neo4j.js.map +0 -1
  144. package/payload/platform/plugins/waitlist/mcp/dist/tools/__tests__/waitlist-persist.test.d.ts +0 -2
  145. package/payload/platform/plugins/waitlist/mcp/dist/tools/__tests__/waitlist-persist.test.d.ts.map +0 -1
  146. package/payload/platform/plugins/waitlist/mcp/dist/tools/__tests__/waitlist-persist.test.js +0 -70
  147. package/payload/platform/plugins/waitlist/mcp/dist/tools/__tests__/waitlist-persist.test.js.map +0 -1
  148. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-extract.d.ts +0 -34
  149. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-extract.d.ts.map +0 -1
  150. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-extract.js +0 -129
  151. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-extract.js.map +0 -1
  152. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-heal.d.ts +0 -27
  153. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-heal.d.ts.map +0 -1
  154. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-heal.js +0 -127
  155. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-heal.js.map +0 -1
  156. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-list.d.ts +0 -23
  157. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-list.d.ts.map +0 -1
  158. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-list.js +0 -58
  159. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-list.js.map +0 -1
  160. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-persist.d.ts +0 -83
  161. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-persist.d.ts.map +0 -1
  162. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-persist.js +0 -433
  163. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-persist.js.map +0 -1
  164. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-review.d.ts +0 -19
  165. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-review.d.ts.map +0 -1
  166. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-review.js +0 -81
  167. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-review.js.map +0 -1
  168. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-scan.d.ts +0 -28
  169. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-scan.d.ts.map +0 -1
  170. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-scan.js +0 -50
  171. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-scan.js.map +0 -1
  172. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-setup.d.ts +0 -33
  173. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-setup.d.ts.map +0 -1
  174. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-setup.js +0 -297
  175. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-setup.js.map +0 -1
  176. package/payload/platform/plugins/waitlist/mcp/package.json +0 -23
  177. package/payload/platform/plugins/waitlist/mcp/vitest.config.ts +0 -9
  178. package/payload/premium-plugins/real-agent/BUNDLE.md +0 -47
  179. package/payload/premium-plugins/real-agent/agents/buyer-enquiry/IDENTITY.md +0 -13
  180. package/payload/premium-plugins/real-agent/agents/buyer-enquiry/SOUL.md +0 -19
  181. package/payload/premium-plugins/real-agent/agents/buyer-enquiry/template.json +0 -9
  182. package/payload/premium-plugins/real-agent/agents/compliance.md +0 -317
  183. package/payload/premium-plugins/real-agent/agents/listing-curator.md +0 -152
  184. package/payload/premium-plugins/real-agent/agents/negotiator.md +0 -167
  185. package/payload/premium-plugins/real-agent/agents/valuer.md +0 -155
  186. package/payload/premium-plugins/real-agent/plugins/.claude-plugin/marketplace.json +0 -68
  187. package/payload/premium-plugins/real-agent/plugins/brochures/.claude-plugin/plugin.json +0 -8
  188. package/payload/premium-plugins/real-agent/plugins/brochures/PLUGIN.md +0 -38
  189. package/payload/premium-plugins/real-agent/plugins/brochures/commands/make-brochure.md +0 -11
  190. package/payload/premium-plugins/real-agent/plugins/brochures/skills/a4-print-documents/SKILL.md +0 -478
  191. package/payload/premium-plugins/real-agent/plugins/brochures/skills/brand-design/SKILL.md +0 -235
  192. package/payload/premium-plugins/real-agent/plugins/brochures/skills/make-brochure/SKILL.md +0 -355
  193. package/payload/premium-plugins/real-agent/plugins/brochures/skills/make-brochure/references/seller-brief-template.md +0 -115
  194. package/payload/premium-plugins/real-agent/plugins/brochures/skills/property-brochure/SKILL.md +0 -195
  195. package/payload/premium-plugins/real-agent/plugins/brochures/skills/property-brochure/references/build.md +0 -689
  196. package/payload/premium-plugins/real-agent/plugins/brochures/skills/property-brochure/references/copy.md +0 -211
  197. package/payload/premium-plugins/real-agent/plugins/brochures/skills/property-brochure/references/images.md +0 -166
  198. package/payload/premium-plugins/real-agent/plugins/brochures/skills/property-brochure/references/index-landing.md +0 -376
  199. package/payload/premium-plugins/real-agent/plugins/brochures/skills/property-brochure/references/index.html +0 -1290
  200. package/payload/premium-plugins/real-agent/plugins/brochures/skills/property-brochure/references/placeholders.md +0 -250
  201. package/payload/premium-plugins/real-agent/plugins/brochures/skills/property-brochure/references/registers.md +0 -105
  202. package/payload/premium-plugins/real-agent/plugins/brochures/skills/property-brochure/references/seller-brief.md +0 -56
  203. package/payload/premium-plugins/real-agent/plugins/brochures/skills/property-brochure/references/structure.md +0 -249
  204. package/payload/premium-plugins/real-agent/plugins/brochures/skills/property-brochure/references/template.html +0 -2400
  205. package/payload/premium-plugins/real-agent/plugins/brochures/skills/property-extract/SKILL.md +0 -366
  206. package/payload/premium-plugins/real-agent/plugins/brochures/skills/property-market-report/SKILL.md +0 -100
  207. package/payload/premium-plugins/real-agent/plugins/brochures/skills/property-market-report/references/render.py +0 -267
  208. package/payload/premium-plugins/real-agent/plugins/brochures/skills/property-market-report/references/template.html +0 -266
  209. package/payload/premium-plugins/real-agent/plugins/brochures/skills/property-socials/SKILL.md +0 -143
  210. package/payload/premium-plugins/real-agent/plugins/buyers/.claude-plugin/plugin.json +0 -8
  211. package/payload/premium-plugins/real-agent/plugins/buyers/PLUGIN.md +0 -35
  212. package/payload/premium-plugins/real-agent/plugins/buyers/skills/buyer-feedback/SKILL.md +0 -109
  213. package/payload/premium-plugins/real-agent/plugins/buyers/skills/buyer-management/SKILL.md +0 -42
  214. package/payload/premium-plugins/real-agent/plugins/buyers/skills/buyer-management/references/buyer-qualification-questions.md +0 -16
  215. package/payload/premium-plugins/real-agent/plugins/buyers/skills/buyer-management/references/buyer-qualification.md +0 -59
  216. package/payload/premium-plugins/real-agent/plugins/buyers/skills/buyer-management/references/buyer-scripts.md +0 -63
  217. package/payload/premium-plugins/real-agent/plugins/buyers/skills/buyer-management/references/buyer-working-scripts.md +0 -54
  218. package/payload/premium-plugins/real-agent/plugins/buyers/skills/buyer-management/references/feedback-collection.md +0 -42
  219. package/payload/premium-plugins/real-agent/plugins/buyers/skills/buyer-management/references/offer-capture.md +0 -38
  220. package/payload/premium-plugins/real-agent/plugins/buyers/skills/buyer-management/references/viewing-booking.md +0 -32
  221. package/payload/premium-plugins/real-agent/plugins/buyers/skills/buyer-management/references/viewing-management.md +0 -52
  222. package/payload/premium-plugins/real-agent/plugins/buyers/skills/buyer-seller-guides/SKILL.md +0 -407
  223. package/payload/premium-plugins/real-agent/plugins/buyers/skills/buyer-seller-guides/references/care-fees-guide.md +0 -68
  224. package/payload/premium-plugins/real-agent/plugins/buyers/skills/buyer-seller-guides/references/divorce-sales-guide.md +0 -61
  225. package/payload/premium-plugins/real-agent/plugins/buyers/skills/buyer-seller-guides/references/downsizing-guide.md +0 -45
  226. package/payload/premium-plugins/real-agent/plugins/buyers/skills/buyer-seller-guides/references/first-time-buyers.md +0 -92
  227. package/payload/premium-plugins/real-agent/plugins/buyers/skills/buyer-seller-guides/references/first-time-sellers.md +0 -78
  228. package/payload/premium-plugins/real-agent/plugins/buyers/skills/buyer-seller-guides/references/probate-guide.md +0 -53
  229. package/payload/premium-plugins/real-agent/plugins/buyers/skills/buyer-seller-guides/references/upsizing-guide.md +0 -41
  230. package/payload/premium-plugins/real-agent/plugins/buyers/skills/property-enquiry/SKILL.md +0 -126
  231. package/payload/premium-plugins/real-agent/plugins/buyers/skills/property-recommender/SKILL.md +0 -96
  232. package/payload/premium-plugins/real-agent/plugins/buyers/skills/viewing-management/SKILL.md +0 -111
  233. package/payload/premium-plugins/real-agent/plugins/estate-business/.claude-plugin/plugin.json +0 -8
  234. package/payload/premium-plugins/real-agent/plugins/estate-business/PLUGIN.md +0 -64
  235. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/business-growth/SKILL.md +0 -133
  236. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/business-growth/references/buy-back-your-time.md +0 -37
  237. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/business-growth/references/firewave-gost-scorecards.md +0 -14
  238. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/business-growth/references/keller-org-model.md +0 -17
  239. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/business-growth/references/lencioni-team-models.md +0 -22
  240. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/business-growth/references/listing-management-system.md +0 -11
  241. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/business-growth/references/net-figure-form.md +0 -11
  242. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/business-growth/references/serhant-bizinbox-notes.md +0 -13
  243. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/business-growth/references/team-roles-commission.md +0 -14
  244. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/business-growth/references/va-2026-ops.md +0 -43
  245. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/business-growth/references/wingman-structure.md +0 -13
  246. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/business-operations/SKILL.md +0 -32
  247. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/business-operations/references/crm-systems.md +0 -57
  248. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/business-operations/references/hiring-guide.md +0 -59
  249. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/business-operations/references/impact-framework.md +0 -47
  250. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/business-operations/references/minutes-equal-money.md +0 -55
  251. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/business-operations/references/team-management.md +0 -48
  252. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/commission-calculator/SKILL.md +0 -40
  253. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/exp-partnership/SKILL.md +0 -52
  254. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/exp-partnership/references/12-reasons.md +0 -39
  255. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/exp-partnership/references/95-5-system.md +0 -66
  256. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/exp-partnership/references/agent-attraction-scripts.md +0 -90
  257. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/exp-partnership/references/business-partnership.md +0 -92
  258. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/exp-partnership/references/exp-model-overview.md +0 -66
  259. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/exp-partnership/references/model-comparison.md +0 -66
  260. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/exp-partnership/references/revenue-share-explained.md +0 -57
  261. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/month-end-close/SKILL.md +0 -69
  262. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/payment-batch-stager/SKILL.md +0 -42
  263. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/period-reconciler/SKILL.md +0 -42
  264. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/personal-branding/SKILL.md +0 -117
  265. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/personal-branding/references/attraction-agent-notes.md +0 -31
  266. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/personal-branding/references/attraction-agent.md +0 -58
  267. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/personal-branding/references/authenticity-boundaries.md +0 -28
  268. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/personal-branding/references/become-a-brand-leader-notes.md +0 -19
  269. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/personal-branding/references/blast-formula.md +0 -42
  270. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/personal-branding/references/brand-leader.md +0 -48
  271. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/personal-branding/references/brand-strategy-system.md +0 -59
  272. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/personal-branding/references/content-engine.md +0 -49
  273. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/personal-branding/references/firewave-blast-and-blogging.md +0 -23
  274. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/personal-branding/references/gary-v-content.md +0 -52
  275. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/personal-branding/references/gary-v-principles.md +0 -20
  276. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/personal-branding/references/oversubscribed-positioning.md +0 -18
  277. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/personal-branding/references/platforms.md +0 -41
  278. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/personal-branding/references/priestley-oversubscribed.md +0 -54
  279. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/personal-branding/references/storeys-style-examples.md +0 -25
  280. package/payload/premium-plugins/real-agent/plugins/estate-business/skills/personal-branding/references/visual-identity.md +0 -27
  281. package/payload/premium-plugins/real-agent/plugins/estate-coaching/.claude-plugin/plugin.json +0 -8
  282. package/payload/premium-plugins/real-agent/plugins/estate-coaching/PLUGIN.md +0 -54
  283. package/payload/premium-plugins/real-agent/plugins/estate-coaching/skills/agent-performance/SKILL.md +0 -371
  284. package/payload/premium-plugins/real-agent/plugins/estate-coaching/skills/agent-performance/references/atomic-habits.md +0 -52
  285. package/payload/premium-plugins/real-agent/plugins/estate-coaching/skills/agent-performance/references/daily-routine-scorecard.md +0 -104
  286. package/payload/premium-plugins/real-agent/plugins/estate-coaching/skills/agent-performance/references/hp6-model.md +0 -63
  287. package/payload/premium-plugins/real-agent/plugins/estate-coaching/skills/agent-performance/references/twelve-week-year.md +0 -71
  288. package/payload/premium-plugins/real-agent/plugins/estate-coaching/skills/bespoke-coaching/SKILL.md +0 -36
  289. package/payload/premium-plugins/real-agent/plugins/estate-coaching/skills/bespoke-coaching/references/coaching-boundaries.md +0 -56
  290. package/payload/premium-plugins/real-agent/plugins/estate-coaching/skills/bespoke-coaching/references/feedback-framework.md +0 -61
  291. package/payload/premium-plugins/real-agent/plugins/estate-coaching/skills/bespoke-coaching/references/performance-framework.md +0 -109
  292. package/payload/premium-plugins/real-agent/plugins/estate-coaching/skills/coaching-toolkit/SKILL.md +0 -421
  293. package/payload/premium-plugins/real-agent/plugins/estate-coaching/skills/coaching-toolkit/references/coaching-exercises.md +0 -86
  294. package/payload/premium-plugins/real-agent/plugins/estate-coaching/skills/coaching-toolkit/references/goal-setting.md +0 -78
  295. package/payload/premium-plugins/real-agent/plugins/estate-coaching/skills/coaching-toolkit/references/one-to-one-framework.md +0 -92
  296. package/payload/premium-plugins/real-agent/plugins/estate-coaching/skills/coaching-toolkit/references/soi-workbook.md +0 -103
  297. package/payload/premium-plugins/real-agent/plugins/estate-coaching/skills/serhant-training/SKILL.md +0 -410
  298. package/payload/premium-plugins/real-agent/plugins/estate-coaching/skills/serhant-training/references/agent-training-guide.md +0 -70
  299. package/payload/premium-plugins/real-agent/plugins/estate-coaching/skills/serhant-training/references/business-in-a-box.md +0 -72
  300. package/payload/premium-plugins/real-agent/plugins/estate-coaching/skills/serhant-training/references/buyers-guide.md +0 -53
  301. package/payload/premium-plugins/real-agent/plugins/estate-coaching/skills/serhant-training/references/codo-method.md +0 -72
  302. package/payload/premium-plugins/real-agent/plugins/estate-coaching/skills/serhant-training/references/website-planning-guide.md +0 -79
  303. package/payload/premium-plugins/real-agent/plugins/estate-sales/.claude-plugin/plugin.json +0 -8
  304. package/payload/premium-plugins/real-agent/plugins/estate-sales/PLUGIN.md +0 -52
  305. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/chase-progression/SKILL.md +0 -107
  306. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/negotiation/SKILL.md +0 -35
  307. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/negotiation/references/deal-saving.md +0 -47
  308. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/negotiation/references/negotiation-deep-guide.md +0 -64
  309. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/negotiation/references/negotiation-prep-principles.md +0 -29
  310. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/negotiation/references/negotiation-techniques.md +0 -42
  311. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/negotiation/references/offer-presentation.md +0 -43
  312. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/risk-scorer/SKILL.md +0 -42
  313. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/sales-closer/SKILL.md +0 -24
  314. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/sales-closer/references/serhant-emotion-stages.md +0 -36
  315. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/sales-discovery/SKILL.md +0 -30
  316. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/sales-discovery/references/chris-voss-discovery.md +0 -88
  317. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/sales-discovery/references/firewave-gost-journey.md +0 -68
  318. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/sales-discovery/references/phil-jones-openers.md +0 -78
  319. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/sales-discovery/references/pre-listing-checklist.md +0 -77
  320. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/sales-discovery/references/serhant-improv.md +0 -22
  321. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/sales-discovery/references/tom-ferry-discovery.md +0 -103
  322. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/sales-discovery/references/vendor-motivation-competitor.md +0 -52
  323. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/sales-negotiation/SKILL.md +0 -29
  324. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/sales-negotiation/references/chris-voss-negotiation.md +0 -70
  325. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/sales-negotiation/references/phil-jones-price-words.md +0 -40
  326. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/sales-negotiation/references/serhant-negotiation-plus.md +0 -55
  327. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/sales-negotiation/references/tom-panos-commission-pricing.md +0 -57
  328. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/sales-negotiation/references/tony-morris-questioning.md +0 -54
  329. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/sales-progression/SKILL.md +0 -27
  330. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/sales-progression/references/conveyancing-guide.md +0 -54
  331. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/sales-progression/references/transaction-tracking.md +0 -66
  332. package/payload/premium-plugins/real-agent/plugins/estate-teaching/.claude-plugin/plugin.json +0 -8
  333. package/payload/premium-plugins/real-agent/plugins/estate-teaching/PLUGIN.md +0 -30
  334. package/payload/premium-plugins/real-agent/plugins/estate-teaching/skills/content-directory/SKILL.md +0 -39
  335. package/payload/premium-plugins/real-agent/plugins/estate-teaching/skills/content-directory/references/module-delivery.md +0 -65
  336. package/payload/premium-plugins/real-agent/plugins/estate-teaching/skills/content-directory/references/progress-tracking.md +0 -47
  337. package/payload/premium-plugins/real-agent/plugins/leads/.claude-plugin/plugin.json +0 -8
  338. package/payload/premium-plugins/real-agent/plugins/leads/PLUGIN.md +0 -61
  339. package/payload/premium-plugins/real-agent/plugins/leads/skills/chain-progression-tracker/SKILL.md +0 -51
  340. package/payload/premium-plugins/real-agent/plugins/leads/skills/diary-builder/SKILL.md +0 -38
  341. package/payload/premium-plugins/real-agent/plugins/leads/skills/enquiry-triage/SKILL.md +0 -36
  342. package/payload/premium-plugins/real-agent/plugins/leads/skills/lead-nurturing/SKILL.md +0 -137
  343. package/payload/premium-plugins/real-agent/plugins/leads/skills/lead-nurturing/references/buyer-search-letter.md +0 -28
  344. package/payload/premium-plugins/real-agent/plugins/leads/skills/lead-nurturing/references/buyer-search-letters.md +0 -37
  345. package/payload/premium-plugins/real-agent/plugins/leads/skills/lead-nurturing/references/database-reactivation.md +0 -30
  346. package/payload/premium-plugins/real-agent/plugins/leads/skills/lead-nurturing/references/email-nurture-sequences.md +0 -45
  347. package/payload/premium-plugins/real-agent/plugins/leads/skills/lead-nurturing/references/facebook-referrals.md +0 -30
  348. package/payload/premium-plugins/real-agent/plugins/leads/skills/lead-nurturing/references/firewave-email-nurture-sequences.md +0 -41
  349. package/payload/premium-plugins/real-agent/plugins/leads/skills/lead-nurturing/references/keller-33-touch.md +0 -34
  350. package/payload/premium-plugins/real-agent/plugins/leads/skills/lead-nurturing/references/neighbour-letters.md +0 -31
  351. package/payload/premium-plugins/real-agent/plugins/leads/skills/lead-nurturing/references/neighbour-notification-letter.md +0 -20
  352. package/payload/premium-plugins/real-agent/plugins/leads/skills/lead-nurturing/references/ofi-follow-up-dialogue.md +0 -22
  353. package/payload/premium-plugins/real-agent/plugins/leads/skills/lead-nurturing/references/ofi-follow-up.md +0 -26
  354. package/payload/premium-plugins/real-agent/plugins/leads/skills/lead-nurturing/references/serhant-three-fs-plus.md +0 -21
  355. package/payload/premium-plugins/real-agent/plugins/leads/skills/lead-nurturing/references/sharran-10x10x10.md +0 -18
  356. package/payload/premium-plugins/real-agent/plugins/leads/skills/lead-nurturing/references/sms-templates.md +0 -40
  357. package/payload/premium-plugins/real-agent/plugins/leads/skills/lead-nurturing/references/sphere-of-influence-notes.md +0 -34
  358. package/payload/premium-plugins/real-agent/plugins/leads/skills/lead-nurturing/references/sphere-of-influence.md +0 -60
  359. package/payload/premium-plugins/real-agent/plugins/leads/skills/lead-nurturing/references/tom-panos-sms-templates.md +0 -59
  360. package/payload/premium-plugins/real-agent/plugins/leads/skills/morning-round/SKILL.md +0 -72
  361. package/payload/premium-plugins/real-agent/plugins/leads/skills/prospecting/SKILL.md +0 -33
  362. package/payload/premium-plugins/real-agent/plugins/leads/skills/prospecting/references/database-matching.md +0 -30
  363. package/payload/premium-plugins/real-agent/plugins/leads/skills/prospecting/references/database-value.md +0 -53
  364. package/payload/premium-plugins/real-agent/plugins/leads/skills/prospecting/references/prospecting-dialogues.md +0 -24
  365. package/payload/premium-plugins/real-agent/plugins/leads/skills/prospecting/references/reactivation.md +0 -34
  366. package/payload/premium-plugins/real-agent/plugins/listings/.claude-plugin/plugin.json +0 -8
  367. package/payload/premium-plugins/real-agent/plugins/listings/PLUGIN.md +0 -100
  368. package/payload/premium-plugins/real-agent/plugins/listings/skills/comparable-finder/SKILL.md +0 -52
  369. package/payload/premium-plugins/real-agent/plugins/listings/skills/home-preparation/SKILL.md +0 -28
  370. package/payload/premium-plugins/real-agent/plugins/listings/skills/home-preparation/references/kerb-appeal.md +0 -38
  371. package/payload/premium-plugins/real-agent/plugins/listings/skills/home-preparation/references/photo-day.md +0 -59
  372. package/payload/premium-plugins/real-agent/plugins/listings/skills/home-preparation/references/situational-tips.md +0 -50
  373. package/payload/premium-plugins/real-agent/plugins/listings/skills/home-preparation/references/staging-guide.md +0 -52
  374. package/payload/premium-plugins/real-agent/plugins/listings/skills/listing-copy-writer/SKILL.md +0 -55
  375. package/payload/premium-plugins/real-agent/plugins/listings/skills/listing-presentation/SKILL.md +0 -286
  376. package/payload/premium-plugins/real-agent/plugins/listings/skills/listing-presentation/references/booking-script.md +0 -51
  377. package/payload/premium-plugins/real-agent/plugins/listings/skills/listing-presentation/references/objection-scripts.md +0 -193
  378. package/payload/premium-plugins/real-agent/plugins/listings/skills/listing-presentation/references/penhaul-presentation.md +0 -123
  379. package/payload/premium-plugins/real-agent/plugins/listings/skills/listing-presentation/references/pre-listing-kit.md +0 -139
  380. package/payload/premium-plugins/real-agent/plugins/listings/skills/listing-presentation/references/set-to-sell.md +0 -55
  381. package/payload/premium-plugins/real-agent/plugins/listings/skills/listing-presentation/references/sharran-frameworks.md +0 -107
  382. package/payload/premium-plugins/real-agent/plugins/listings/skills/local-market-stats/SKILL.md +0 -33
  383. package/payload/premium-plugins/real-agent/plugins/listings/skills/new-instruction/SKILL.md +0 -77
  384. package/payload/premium-plugins/real-agent/plugins/listings/skills/particulars-builder/SKILL.md +0 -48
  385. package/payload/premium-plugins/real-agent/plugins/listings/skills/portal-launch-scheduler/SKILL.md +0 -49
  386. package/payload/premium-plugins/real-agent/plugins/listings/skills/pricing-scenario-builder/SKILL.md +0 -35
  387. package/payload/premium-plugins/real-agent/plugins/listings/skills/property-marketing/SKILL.md +0 -337
  388. package/payload/premium-plugins/real-agent/plugins/listings/skills/property-marketing/references/auction-report-template.md +0 -41
  389. package/payload/premium-plugins/real-agent/plugins/listings/skills/property-marketing/references/coming-soon-campaign.md +0 -43
  390. package/payload/premium-plugins/real-agent/plugins/listings/skills/property-marketing/references/direct-mail-templates.md +0 -121
  391. package/payload/premium-plugins/real-agent/plugins/listings/skills/property-marketing/references/eoi-form-template.md +0 -62
  392. package/payload/premium-plugins/real-agent/plugins/listings/skills/property-marketing/references/monthly-scorecard.md +0 -63
  393. package/payload/premium-plugins/real-agent/plugins/listings/skills/supplier-booker/SKILL.md +0 -39
  394. package/payload/premium-plugins/real-agent/plugins/listings/skills/talk-track-composer/SKILL.md +0 -36
  395. package/payload/premium-plugins/real-agent/plugins/listings/skills/terms-of-business-drafter/SKILL.md +0 -54
  396. package/payload/premium-plugins/real-agent/plugins/listings/skills/valuation-prep/SKILL.md +0 -69
  397. package/payload/premium-plugins/real-agent/plugins/loop/.claude-plugin/plugin.json +0 -8
  398. package/payload/premium-plugins/real-agent/plugins/loop/PLUGIN.md +0 -261
  399. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/index.d.ts +0 -2
  400. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/index.d.ts.map +0 -1
  401. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/index.js +0 -320
  402. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/index.js.map +0 -1
  403. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/crypto.d.ts +0 -10
  404. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/crypto.d.ts.map +0 -1
  405. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/crypto.js +0 -88
  406. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/crypto.js.map +0 -1
  407. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/file-crypto.d.ts +0 -3
  408. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/file-crypto.d.ts.map +0 -1
  409. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/file-crypto.js +0 -48
  410. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/file-crypto.js.map +0 -1
  411. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/key-store.d.ts +0 -22
  412. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/key-store.d.ts.map +0 -1
  413. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/key-store.js +0 -165
  414. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/key-store.js.map +0 -1
  415. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/loop-api.d.ts +0 -82
  416. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/loop-api.d.ts.map +0 -1
  417. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/loop-api.js +0 -392
  418. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/loop-api.js.map +0 -1
  419. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/neo4j.d.ts +0 -5
  420. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/neo4j.d.ts.map +0 -1
  421. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/neo4j.js +0 -40
  422. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/neo4j.js.map +0 -1
  423. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/auto-responder.d.ts +0 -12
  424. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/auto-responder.d.ts.map +0 -1
  425. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/auto-responder.js +0 -22
  426. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/auto-responder.js.map +0 -1
  427. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/customer-preferences.d.ts +0 -10
  428. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/customer-preferences.d.ts.map +0 -1
  429. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/customer-preferences.js +0 -24
  430. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/customer-preferences.js.map +0 -1
  431. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/feedback.d.ts +0 -16
  432. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/feedback.d.ts.map +0 -1
  433. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/feedback.js +0 -35
  434. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/feedback.js.map +0 -1
  435. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-deregister.d.ts +0 -5
  436. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-deregister.d.ts.map +0 -1
  437. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-deregister.js +0 -9
  438. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-deregister.js.map +0 -1
  439. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-list.d.ts +0 -4
  440. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-list.d.ts.map +0 -1
  441. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-list.js +0 -14
  442. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-list.js.map +0 -1
  443. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-register.d.ts +0 -9
  444. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-register.d.ts.map +0 -1
  445. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-register.js +0 -43
  446. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-register.js.map +0 -1
  447. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-enquiry.d.ts +0 -6
  448. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-enquiry.d.ts.map +0 -1
  449. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-enquiry.js +0 -7
  450. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-enquiry.js.map +0 -1
  451. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match-batch.d.ts +0 -9
  452. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match-batch.d.ts.map +0 -1
  453. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match-batch.js +0 -16
  454. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match-batch.js.map +0 -1
  455. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match-request.d.ts +0 -15
  456. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match-request.d.ts.map +0 -1
  457. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match-request.js +0 -11
  458. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match-request.js.map +0 -1
  459. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match.d.ts +0 -10
  460. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match.d.ts.map +0 -1
  461. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match.js +0 -39
  462. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match.js.map +0 -1
  463. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/people-detail.d.ts +0 -9
  464. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/people-detail.d.ts.map +0 -1
  465. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/people-detail.js +0 -125
  466. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/people-detail.js.map +0 -1
  467. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/people-search.d.ts +0 -18
  468. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/people-search.d.ts.map +0 -1
  469. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/people-search.js +0 -87
  470. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/people-search.js.map +0 -1
  471. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-detail.d.ts +0 -10
  472. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-detail.d.ts.map +0 -1
  473. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-detail.js +0 -82
  474. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-detail.js.map +0 -1
  475. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-intent.d.ts +0 -33
  476. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-intent.d.ts.map +0 -1
  477. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-intent.js +0 -19
  478. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-intent.js.map +0 -1
  479. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-listed.d.ts +0 -11
  480. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-listed.d.ts.map +0 -1
  481. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-listed.js +0 -26
  482. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-listed.js.map +0 -1
  483. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-request.d.ts +0 -15
  484. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-request.d.ts.map +0 -1
  485. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-request.js +0 -11
  486. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-request.js.map +0 -1
  487. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-search.d.ts +0 -16
  488. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-search.d.ts.map +0 -1
  489. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-search.js +0 -41
  490. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-search.js.map +0 -1
  491. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-sold.d.ts +0 -9
  492. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-sold.d.ts.map +0 -1
  493. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-sold.js +0 -19
  494. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-sold.js.map +0 -1
  495. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/supplier.d.ts +0 -13
  496. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/supplier.d.ts.map +0 -1
  497. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/supplier.js +0 -49
  498. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/supplier.js.map +0 -1
  499. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/team-availability.d.ts +0 -7
  500. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/team-availability.d.ts.map +0 -1
  501. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/team-availability.js +0 -19
  502. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/team-availability.js.map +0 -1
  503. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/team-info.d.ts +0 -5
  504. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/team-info.d.ts.map +0 -1
  505. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/team-info.js +0 -32
  506. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/team-info.js.map +0 -1
  507. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-create.d.ts +0 -14
  508. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-create.d.ts.map +0 -1
  509. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-create.js +0 -11
  510. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-create.js.map +0 -1
  511. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-detail.d.ts +0 -9
  512. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-detail.d.ts.map +0 -1
  513. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-detail.js +0 -85
  514. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-detail.js.map +0 -1
  515. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-search.d.ts +0 -13
  516. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-search.d.ts.map +0 -1
  517. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-search.js +0 -44
  518. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-search.js.map +0 -1
  519. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-update.d.ts +0 -14
  520. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-update.d.ts.map +0 -1
  521. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-update.js +0 -18
  522. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-update.js.map +0 -1
  523. package/payload/premium-plugins/real-agent/plugins/loop/mcp/package-lock.json +0 -2549
  524. package/payload/premium-plugins/real-agent/plugins/loop/mcp/package.json +0 -21
  525. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/__tests__/loop-swagger.snapshot.json +0 -26467
  526. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/__tests__/new-tool-shape.test.ts +0 -99
  527. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/__tests__/plugin-md-time-doctrine.test.ts +0 -132
  528. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/__tests__/swagger-write-coverage.test.ts +0 -154
  529. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/index.ts +0 -498
  530. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/lib/crypto.ts +0 -105
  531. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/lib/file-crypto.ts +0 -54
  532. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/lib/key-store.ts +0 -221
  533. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/lib/loop-api.ts +0 -567
  534. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/lib/neo4j.ts +0 -51
  535. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/tools/auto-responder.ts +0 -80
  536. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/tools/customer-preferences.ts +0 -66
  537. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/tools/feedback.ts +0 -86
  538. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/tools/key-deregister.ts +0 -12
  539. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/tools/key-list.ts +0 -19
  540. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/tools/key-register.ts +0 -70
  541. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/tools/marketing-enquiry.ts +0 -27
  542. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/tools/marketing-match-batch.ts +0 -53
  543. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/tools/marketing-match-request.ts +0 -42
  544. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/tools/marketing-match.ts +0 -84
  545. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/tools/people-detail.ts +0 -245
  546. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/tools/people-search.ts +0 -180
  547. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/tools/property-detail.ts +0 -145
  548. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/tools/property-intent.ts +0 -84
  549. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/tools/property-listed.ts +0 -81
  550. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/tools/property-search.ts +0 -92
  551. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/tools/property-sold.ts +0 -67
  552. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/tools/supplier.ts +0 -129
  553. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/tools/team-availability.ts +0 -52
  554. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/tools/team-info.ts +0 -95
  555. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/tools/viewing-create.ts +0 -41
  556. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/tools/viewing-detail.ts +0 -171
  557. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/tools/viewing-search.ts +0 -92
  558. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/tools/viewing-update.ts +0 -53
  559. package/payload/premium-plugins/real-agent/plugins/loop/mcp/tsconfig.json +0 -20
  560. package/payload/premium-plugins/real-agent/plugins/loop/mcp/vitest.config.ts +0 -9
  561. package/payload/premium-plugins/real-agent/plugins/loop/skills/compliance-flag-checker/SKILL.md +0 -53
  562. package/payload/premium-plugins/real-agent/plugins/loop/skills/priority-ranker/SKILL.md +0 -40
  563. package/payload/premium-plugins/real-agent/plugins/loop/skills/tone-matched-drafter/SKILL.md +0 -53
  564. package/payload/premium-plugins/real-agent/plugins/loop/skills/variance-narrator/SKILL.md +0 -50
  565. package/payload/premium-plugins/real-agent/plugins/loop/skills/vendor-research/SKILL.md +0 -54
  566. package/payload/premium-plugins/real-agent/plugins/preval/.claude-plugin/plugin.json +0 -8
  567. package/payload/premium-plugins/real-agent/plugins/preval/PLUGIN.md +0 -55
  568. package/payload/premium-plugins/real-agent/plugins/preval/hooks/preval-prompt-required.sh +0 -140
  569. package/payload/premium-plugins/real-agent/plugins/preval/skills/property-preval/SKILL.md +0 -198
  570. package/payload/premium-plugins/real-agent/plugins/preval/skills/property-preval/references/__tests__/adherence.test.py +0 -373
  571. package/payload/premium-plugins/real-agent/plugins/preval/skills/property-preval/references/render.py +0 -814
  572. package/payload/premium-plugins/real-agent/plugins/preval/skills/property-preval/references/template-inputs.schema.json +0 -204
  573. package/payload/premium-plugins/real-agent/plugins/preval/skills/property-preval/references/template.html +0 -381
  574. package/payload/premium-plugins/real-agent/plugins/property-data/.claude-plugin/plugin.json +0 -8
  575. package/payload/premium-plugins/real-agent/plugins/property-data/PLUGIN.md +0 -181
  576. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/index.d.ts +0 -2
  577. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/index.d.ts.map +0 -1
  578. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/index.js +0 -236
  579. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/index.js.map +0 -1
  580. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/lib/crypto.d.ts +0 -3
  581. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/lib/crypto.d.ts.map +0 -1
  582. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/lib/crypto.js +0 -72
  583. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/lib/crypto.js.map +0 -1
  584. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/lib/file-crypto.d.ts +0 -3
  585. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/lib/file-crypto.d.ts.map +0 -1
  586. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/lib/file-crypto.js +0 -49
  587. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/lib/file-crypto.js.map +0 -1
  588. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/lib/key-store.d.ts +0 -15
  589. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/lib/key-store.d.ts.map +0 -1
  590. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/lib/key-store.js +0 -135
  591. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/lib/key-store.js.map +0 -1
  592. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/lib/neo4j.d.ts +0 -5
  593. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/lib/neo4j.d.ts.map +0 -1
  594. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/lib/neo4j.js +0 -38
  595. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/lib/neo4j.js.map +0 -1
  596. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/lib/propertydata-api.d.ts +0 -28
  597. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/lib/propertydata-api.d.ts.map +0 -1
  598. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/lib/propertydata-api.js +0 -101
  599. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/lib/propertydata-api.js.map +0 -1
  600. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/tools/endpoints.d.ts +0 -24
  601. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/tools/endpoints.d.ts.map +0 -1
  602. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/tools/endpoints.js +0 -33
  603. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/tools/endpoints.js.map +0 -1
  604. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/tools/key-deregister.d.ts +0 -4
  605. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/tools/key-deregister.d.ts.map +0 -1
  606. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/tools/key-deregister.js +0 -9
  607. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/tools/key-deregister.js.map +0 -1
  608. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/tools/key-list.d.ts +0 -4
  609. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/tools/key-list.d.ts.map +0 -1
  610. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/tools/key-list.js +0 -10
  611. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/tools/key-list.js.map +0 -1
  612. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/tools/key-register.d.ts +0 -5
  613. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/tools/key-register.d.ts.map +0 -1
  614. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/tools/key-register.js +0 -50
  615. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/dist/tools/key-register.js.map +0 -1
  616. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/package-lock.json +0 -2566
  617. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/package.json +0 -21
  618. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/src/__tests__/endpoints.test.ts +0 -252
  619. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/src/__tests__/key-roundtrip.test.ts +0 -107
  620. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/src/__tests__/propertydata-api.test.ts +0 -184
  621. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/src/__tests__/schema-parity.test.ts +0 -62
  622. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/src/index.ts +0 -409
  623. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/src/lib/crypto.ts +0 -79
  624. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/src/lib/file-crypto.ts +0 -55
  625. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/src/lib/key-store.ts +0 -181
  626. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/src/lib/neo4j.ts +0 -47
  627. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/src/lib/propertydata-api.ts +0 -120
  628. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/src/tools/endpoints.ts +0 -47
  629. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/src/tools/key-deregister.ts +0 -9
  630. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/src/tools/key-list.ts +0 -10
  631. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/src/tools/key-register.ts +0 -54
  632. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/tsconfig.json +0 -20
  633. package/payload/premium-plugins/real-agent/plugins/property-data/mcp/vitest.config.ts +0 -8
  634. package/payload/premium-plugins/real-agent/plugins/property-data/skills/property-data/SKILL.md +0 -77
  635. package/payload/premium-plugins/real-agent/plugins/vendors/.claude-plugin/plugin.json +0 -8
  636. package/payload/premium-plugins/real-agent/plugins/vendors/PLUGIN.md +0 -33
  637. package/payload/premium-plugins/real-agent/plugins/vendors/skills/vendor-communication/SKILL.md +0 -42
  638. package/payload/premium-plugins/real-agent/plugins/vendors/skills/vendor-communication/references/fee-protection-and-agenda.md +0 -28
  639. package/payload/premium-plugins/real-agent/plugins/vendors/skills/vendor-communication/references/listing-scripts.md +0 -44
  640. package/payload/premium-plugins/real-agent/plugins/vendors/skills/vendor-communication/references/negotiation-deep-guide.md +0 -70
  641. package/payload/premium-plugins/real-agent/plugins/vendors/skills/vendor-communication/references/price-alignment-scripts.md +0 -33
  642. package/payload/premium-plugins/real-agent/plugins/vendors/skills/vendor-communication/references/price-alignment.md +0 -34
  643. package/payload/premium-plugins/real-agent/plugins/vendors/skills/vendor-communication/references/scenario-scripts.md +0 -38
  644. package/payload/premium-plugins/real-agent/plugins/vendors/skills/vendor-communication/references/seller-engagement.md +0 -51
  645. package/payload/premium-plugins/real-agent/plugins/vendors/skills/vendor-communication/references/valuation-booking.md +0 -76
  646. package/payload/premium-plugins/real-agent/plugins/vendors/skills/vendor-communication/references/vendor-scripts.md +0 -63
  647. package/payload/premium-plugins/real-agent/plugins/vendors/skills/vendor-communication/references/vendor-updates.md +0 -41
  648. package/payload/premium-plugins/real-agent/plugins/vendors/skills/vendor-updates/SKILL.md +0 -153
  649. package/payload/premium-plugins/real-agent/specs/00-architecture-and-customization.md +0 -122
  650. package/payload/premium-plugins/real-agent/specs/01-morning-round.md +0 -76
  651. package/payload/premium-plugins/real-agent/specs/02-valuation-prep.md +0 -81
  652. package/payload/premium-plugins/real-agent/specs/03-new-instruction.md +0 -96
  653. package/payload/premium-plugins/real-agent/specs/04-chase-progression.md +0 -120
  654. package/payload/premium-plugins/real-agent/specs/05-month-end-close.md +0 -79
  655. package/payload/premium-plugins/teaching/.claude-plugin/plugin.json +0 -8
  656. package/payload/premium-plugins/teaching/PLUGIN.md +0 -58
  657. package/payload/premium-plugins/teaching/skills/interactive-tutor/SKILL.md +0 -59
  658. package/payload/premium-plugins/teaching/skills/interactive-tutor/references/assessment.md +0 -70
  659. package/payload/premium-plugins/teaching/skills/interactive-tutor/references/classroom-conduct.md +0 -43
  660. package/payload/premium-plugins/teaching/skills/interactive-tutor/references/teaching-modes.md +0 -83
  661. package/payload/premium-plugins/teaching/skills/lesson-planner/SKILL.md +0 -48
  662. package/payload/premium-plugins/teaching/skills/lesson-planner/references/context-gathering.md +0 -41
  663. package/payload/premium-plugins/teaching/skills/lesson-planner/references/plan-structure.md +0 -94
  664. package/payload/premium-plugins/teaching/skills/study-pack-builder/SKILL.md +0 -52
  665. package/payload/premium-plugins/teaching/skills/study-pack-builder/references/disaggregation.md +0 -49
  666. package/payload/premium-plugins/teaching/skills/study-pack-builder/references/materials.md +0 -116
  667. package/payload/premium-plugins/writer-craft/.claude-plugin/plugin.json +0 -8
  668. package/payload/premium-plugins/writer-craft/PLUGIN.md +0 -88
  669. package/payload/premium-plugins/writer-craft/agents/writer-craft--manuscript-reviewer.md +0 -92
  670. package/payload/premium-plugins/writer-craft/skills/citation-style/SKILL.md +0 -94
  671. package/payload/premium-plugins/writer-craft/skills/citation-style/references/book-and-chapter-models.md +0 -77
  672. package/payload/premium-plugins/writer-craft/skills/citation-style/references/citation-rules.md +0 -103
  673. package/payload/premium-plugins/writer-craft/skills/citation-style/references/journal-article-models.md +0 -74
  674. package/payload/premium-plugins/writer-craft/skills/citation-style/references/other-source-models.md +0 -146
  675. package/payload/premium-plugins/writer-craft/skills/citation-style/references/reference-list-rules.md +0 -70
  676. package/payload/premium-plugins/writer-craft/skills/editorial-practice/SKILL.md +0 -108
  677. package/payload/premium-plugins/writer-craft/skills/editorial-practice/references/copyediting.md +0 -73
  678. package/payload/premium-plugins/writer-craft/skills/editorial-practice/references/developmental-editing.md +0 -85
  679. package/payload/premium-plugins/writer-craft/skills/editorial-practice/references/genre-specific-editing.md +0 -78
  680. package/payload/premium-plugins/writer-craft/skills/editorial-practice/references/line-editing.md +0 -55
  681. package/payload/premium-plugins/writer-craft/skills/editorial-practice/references/self-editing.md +0 -89
  682. package/payload/premium-plugins/writer-craft/skills/persuasive-storytelling/SKILL.md +0 -114
  683. package/payload/premium-plugins/writer-craft/skills/persuasive-storytelling/references/audience-analysis.md +0 -73
  684. package/payload/premium-plugins/writer-craft/skills/persuasive-storytelling/references/crafting-persuasive-story.md +0 -76
  685. package/payload/premium-plugins/writer-craft/skills/persuasive-storytelling/references/persuasion-case-studies.md +0 -67
  686. package/payload/premium-plugins/writer-craft/skills/persuasive-storytelling/references/transformation-framework.md +0 -86
  687. package/payload/premium-plugins/writer-craft/skills/point-of-view/SKILL.md +0 -97
  688. package/payload/premium-plugins/writer-craft/skills/point-of-view/references/indirect-narration.md +0 -72
  689. package/payload/premium-plugins/writer-craft/skills/point-of-view/references/pov-types-and-voice.md +0 -91
  690. package/payload/premium-plugins/writer-craft/skills/point-of-view/references/protagonist-filter.md +0 -71
  691. package/payload/premium-plugins/writer-craft/skills/point-of-view/references/tense-and-person.md +0 -85
  692. package/payload/premium-plugins/writer-craft/skills/prose-craft/SKILL.md +0 -100
  693. package/payload/premium-plugins/writer-craft/skills/prose-craft/references/punctuation-and-grammar.md +0 -72
  694. package/payload/premium-plugins/writer-craft/skills/prose-craft/references/repetition.md +0 -71
  695. package/payload/premium-plugins/writer-craft/skills/prose-craft/references/sound-and-rhythm.md +0 -64
  696. package/payload/premium-plugins/writer-craft/skills/prose-craft/references/word-economy.md +0 -93
  697. package/payload/premium-plugins/writer-craft/skills/reader-engagement/SKILL.md +0 -100
  698. package/payload/premium-plugins/writer-craft/skills/reader-engagement/references/cause-effect-setup-payoff.md +0 -79
  699. package/payload/premium-plugins/writer-craft/skills/reader-engagement/references/conflict-escalation.md +0 -81
  700. package/payload/premium-plugins/writer-craft/skills/reader-engagement/references/hooking-readers.md +0 -67
  701. package/payload/premium-plugins/writer-craft/skills/reader-engagement/references/neurochemistry-of-engagement.md +0 -94
  702. package/payload/premium-plugins/writer-craft/skills/review-manuscript/SKILL.md +0 -111
  703. package/payload/premium-plugins/writer-craft/skills/review-manuscript/references/review-manuscript-checklist.md +0 -119
  704. package/payload/premium-plugins/writer-craft/skills/review-prose/SKILL.md +0 -99
  705. package/payload/premium-plugins/writer-craft/skills/review-prose/references/prose-review-checklist.md +0 -112
  706. package/payload/premium-plugins/writer-craft/skills/review-scene/SKILL.md +0 -99
  707. package/payload/premium-plugins/writer-craft/skills/review-scene/references/scene-analysis-framework.md +0 -95
  708. package/payload/premium-plugins/writer-craft/skills/story-architecture/SKILL.md +0 -106
  709. package/payload/premium-plugins/writer-craft/skills/story-architecture/references/blueprinting-and-scene-cards.md +0 -118
  710. package/payload/premium-plugins/writer-craft/skills/story-architecture/references/inner-issue-and-protagonist-goal.md +0 -66
  711. package/payload/premium-plugins/writer-craft/skills/story-architecture/references/misbelief-desire-worldview.md +0 -87
  712. package/payload/premium-plugins/writer-craft/skills/story-architecture/references/origin-scenes-and-escalation.md +0 -82
  713. package/payload/premium-plugins/writer-craft/skills/story-blueprint/SKILL.md +0 -133
  714. package/payload/premium-plugins/writer-craft/skills/story-blueprint/references/blueprinting-exercises.md +0 -118
  715. package/payload/premium-plugins/writer-craft/skills/story-blueprint/references/blueprinting-process.md +0 -128
  716. package/payload/server/public/assets/channel-CrSx5mnG.js +0 -1
  717. package/payload/server/public/assets/classDiagram-6PBFFD2Q-C3IDJsqN.js +0 -1
  718. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-BOIrJ5Zb.js +0 -1
  719. package/payload/server/public/assets/clone-P8Fkz7JD.js +0 -1
  720. package/payload/server/public/assets/data-DRfwJPja.js +0 -1
  721. package/payload/server/public/assets/graph-B4FFYwus.js +0 -1
  722. package/payload/server/public/assets/graph-labels-Cpk9Ktt0.js +0 -1
  723. package/payload/server/public/assets/lib--yuBd0Xi.js +0 -33
  724. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-C5JejhQU.js +0 -1
@@ -1,1290 +0,0 @@
1
- <!--
2
- ════════════════════════════════════════════════════════════════════════════
3
- COMPANION LANDING PAGE — index.html · canonical reference template
4
- ════════════════════════════════════════════════════════════════════════════
5
-
6
- This file is the canonical starting point for the property micro-site that
7
- ships inside <property>/output/web/ alongside brochure.html. Every property
8
- brochure run that produces a web bundle MUST start by copying this file —
9
- do NOT rebuild it from scratch from the SKILL.md prose. The prose
10
- describes the spec; this file IS the spec.
11
-
12
- SUBSTITUTION CONTRACT
13
- ─────────────────────
14
- Every property-specific value in this file is a {{ token }} placeholder.
15
- There is no exemplar copy left to accidentally inherit. After substitution,
16
- `grep "{{" output/web/index.html` must return ZERO matches — any remaining
17
- {{ x }} is a bug.
18
-
19
- The full token list (with source field, format, length, voice) lives in
20
- references/placeholders.md, shared with brochure.html. Each <!- - REPLACE: - ->
21
- inline annotation here gives the short version (what fills the token, how
22
- long, what voice). Style guidance per section is in references/copy.md.
23
-
24
- Contract:
25
-
26
- 1. Copy this file to <property>/output/web/index.html.
27
- 2. Substitute every {{ placeholder }} token from the master placeholders.md.
28
- 3. Update <title>, meta description, OG/Twitter image refs.
29
- 4. If a section does not apply (e.g. property has no garden complex), follow
30
- the SKILL's "Page-count expansion / repurposing" guidance — repurpose the
31
- section title and copy. Do NOT delete sections; the layout assumes the
32
- full set.
33
-
34
- Editorial decisions baked into this file (KEEP, do not re-derive):
35
- - Drop cap: .body-block p:first-of-type::first-letter (Cormorant ink, 3.6em
36
- float-left). Every body-block opens with one. Mirrors the brochure's
37
- opener treatment.
38
- - Hero: 3-slide Ken-Burns rotator on an 18s cycle, pure CSS, with reduced-
39
- motion fallback. See .hero-stage / .hero-slide CSS comments.
40
- - Mobile collapse: top-nav → hamburger drawer at ≤960px; hero stacks at
41
- ≤760px; hero aspect 5/4 at ≤440px.
42
- - Type system: Cormorant Garamond (display) + Lora (body serif) + Inter
43
- (UI labels). DO NOT swap these per-brand — the index.html register is
44
- tuned to the canonical premium tier; brand identity lives in the logo,
45
- copy and brand-specific colour accents that may be added via :root
46
- overrides if needed (rare).
47
-
48
- Authoring note — keep the body of this docstring free of inner HTML
49
- comment delimiters. HTML does not allow nested comments: an inner "- - >"
50
- would terminate this outer comment early and the rest of these
51
- instructions would render as visible text on the live page (the bug that
52
- prompted this note). When referring to the inline REPLACE markers, use
53
- prose ("REPLACE comment block") not the literal delimiter pair.
54
- ════════════════════════════════════════════════════════════════════════════
55
- -->
56
- <html lang="en-GB">
57
- <head>
58
- <meta charset="UTF-8">
59
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
60
- <!-- REPLACE {{ page_title }}: "<Property name> · <street>, <locality> · For Sale".
61
- Used as the browser tab title and search-result link. -->
62
- <title>{{ page_title }}</title>
63
- <!-- REPLACE {{ meta_description }}: single-sentence elevator pitch (25-45 words).
64
- Same content as {{ backpage_tagline }} in the brochure; the two should mirror
65
- each other. Used by social previews and search. -->
66
- <meta name="description" content="{{ meta_description }}">
67
- <link rel="preconnect" href="https://fonts.googleapis.com">
68
- <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
69
- <link href="https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400&family=Lora:ital,wght@0,400;0,500;1,400&family=Inter:wght@400;500&display=swap" rel="stylesheet">
70
- <style>
71
- :root {
72
- --paper: #FBF9F4;
73
- --paper-2: #F4EFE5;
74
- --ink: #0E1418;
75
- --ink-2: #2A3036;
76
- --slate: #5C6470;
77
- --rule: rgba(14,20,24,0.14);
78
- --rule-fine: #E2D5BD;
79
- --gold: #7A6235;
80
- --gold-soft: #A4884C;
81
-
82
- --serif: 'Cormorant Garamond', 'EB Garamond', Garamond, serif;
83
- --body-serif: 'Lora', 'Source Serif Pro', Georgia, serif;
84
- --sans: 'Inter', system-ui, -apple-system, sans-serif;
85
-
86
- /* BRAND_TOKENS_OVERRIDE_SLOT — branded register MUST emit a `<style id="brand-tokens">`
87
- block here, AFTER the template defaults, so cascade ordering selects the brand
88
- values. The block replaces --paper, --paper-2, --ink, --ink-2, --gold,
89
- --gold-soft, --serif, --body-serif, --sans (plus the template.html-vocabulary
90
- twins per build.md → Brand-token override emission). Without this slot the agent
91
- has nowhere to inject and the landing page ships in Premium register even when
92
- register=branded. */
93
- }
94
-
95
- * { margin: 0; padding: 0; box-sizing: border-box; }
96
- html { font-size: 16px; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; scroll-behavior: smooth; }
97
- body {
98
- font-family: var(--body-serif);
99
- background: var(--paper);
100
- color: var(--ink);
101
- line-height: 1.65;
102
- }
103
- img { display: block; max-width: 100%; height: auto; }
104
- a { color: inherit; }
105
-
106
- /* ───────── TOP NAV ───────── */
107
- .topnav {
108
- position: relative;
109
- z-index: 50;
110
- height: 60px;
111
- display: flex; align-items: center; justify-content: space-between;
112
- padding: 0 32px;
113
- background: var(--paper);
114
- border-bottom: 1px solid var(--rule);
115
- }
116
-
117
- /* Hamburger button — hidden on desktop, visible at ≤ 960px */
118
- .burger {
119
- display: none;
120
- background: transparent;
121
- border: none;
122
- padding: 10px;
123
- cursor: pointer;
124
- margin-left: -10px;
125
- }
126
- .burger span {
127
- display: block;
128
- width: 22px;
129
- height: 1.5px;
130
- background: var(--ink);
131
- margin: 4px 0;
132
- transition: transform 250ms ease, opacity 250ms ease;
133
- }
134
- .burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(5.5px) rotate(45deg); }
135
- .burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
136
- .burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-5.5px) rotate(-45deg); }
137
-
138
- /* Drawer overlay — hidden by default, slides in from the right when opened */
139
- .drawer {
140
- position: fixed;
141
- top: 0; right: 0; bottom: 0;
142
- width: min(360px, 86vw);
143
- background: var(--paper);
144
- box-shadow: -2px 0 36px rgba(14,20,24,0.18);
145
- transform: translateX(100%);
146
- transition: transform 320ms ease;
147
- z-index: 60;
148
- padding: 64px 28px 28px;
149
- display: flex; flex-direction: column; gap: 18px;
150
- overflow-y: auto;
151
- }
152
- .drawer.open { transform: translateX(0); }
153
- .drawer-close {
154
- position: absolute;
155
- top: 16px; right: 18px;
156
- width: 36px; height: 36px;
157
- background: transparent;
158
- border: none;
159
- font-size: 32px; line-height: 1;
160
- color: var(--ink);
161
- cursor: pointer;
162
- }
163
- .drawer-nav {
164
- display: flex; flex-direction: column;
165
- gap: 4px;
166
- }
167
- .drawer-nav a {
168
- font-family: var(--sans);
169
- font-size: 12px; font-weight: 500;
170
- letter-spacing: 0.18em; text-transform: uppercase;
171
- color: var(--ink-2);
172
- text-decoration: none;
173
- padding: 14px 0;
174
- border-bottom: 1px solid var(--rule);
175
- }
176
- .drawer-nav a:hover { color: var(--gold); }
177
- .drawer-nav a.drawer-cta {
178
- margin-top: 12px;
179
- padding: 14px 18px;
180
- background: var(--ink);
181
- color: var(--paper);
182
- text-align: center;
183
- border-bottom: none;
184
- }
185
- .drawer-nav a.drawer-cta:hover { background: var(--gold); color: var(--paper); }
186
- .drawer-foot {
187
- margin-top: auto;
188
- padding-top: 24px;
189
- border-top: 1px solid var(--rule);
190
- font-family: var(--body-serif);
191
- font-size: 13px;
192
- color: var(--slate);
193
- line-height: 1.55;
194
- }
195
- .drawer-foot a {
196
- color: var(--ink-2);
197
- text-decoration: underline;
198
- text-decoration-color: rgba(122, 98, 53, 0.4);
199
- text-underline-offset: 3px;
200
- font-variant-numeric: tabular-nums;
201
- }
202
-
203
- /* Backdrop behind the drawer */
204
- .drawer-backdrop {
205
- position: fixed; inset: 0;
206
- background: rgba(14,20,24,0.45);
207
- opacity: 0;
208
- pointer-events: none;
209
- transition: opacity 320ms ease;
210
- z-index: 55;
211
- }
212
- .drawer-backdrop.open {
213
- opacity: 1;
214
- pointer-events: auto;
215
- }
216
- body.drawer-open { overflow: hidden; }
217
- .topnav .left, .topnav .right {
218
- display: flex; align-items: center; gap: 28px;
219
- font-family: var(--sans);
220
- font-size: 11px;
221
- font-weight: 500;
222
- letter-spacing: 0.18em;
223
- text-transform: uppercase;
224
- color: var(--ink-2);
225
- }
226
- .topnav .left a, .topnav .right a { text-decoration: none; }
227
- .topnav .left a:hover, .topnav .right a:hover { color: var(--gold); }
228
- .topnav .center {
229
- position: absolute; left: 50%; top: 50%;
230
- transform: translate(-50%, -50%);
231
- display: flex; align-items: center;
232
- }
233
- .topnav .center img { height: 18px; width: auto; }
234
-
235
- /* ───────── HERO — rotating Ken-Burns stage ─────────
236
- Three slides cross-fade on an 18s cycle (each visible ~5.5s,
237
- ~0.5s crossfade), each with a slow Ken-Burns pan/zoom on its
238
- <img> so the camera "moves" while the slide is visible. Pure
239
- CSS — no JS dependency, no layout reflow. */
240
- .hero {
241
- position: relative;
242
- width: 100%;
243
- height: 78vh;
244
- min-height: 560px;
245
- overflow: hidden;
246
- background: var(--ink);
247
- }
248
- .hero-stage {
249
- position: absolute; inset: 0;
250
- overflow: hidden;
251
- }
252
- .hero-slide {
253
- position: absolute; inset: 0;
254
- opacity: 0;
255
- will-change: opacity;
256
- }
257
- .hero-slide img {
258
- width: 100%; height: 100%;
259
- object-fit: cover;
260
- object-position: 50% 50%;
261
- transform-origin: 50% 50%;
262
- will-change: transform;
263
- }
264
-
265
- /* Stagger: each slide's animation starts 6s apart so they
266
- never overlap except during the 0.5s crossfade. */
267
- .hero-slide.s1 { animation: heroFade 18s 0s infinite; }
268
- .hero-slide.s2 { animation: heroFade 18s 6s infinite; }
269
- .hero-slide.s3 { animation: heroFade 18s 12s infinite; }
270
- .hero-slide.s1 img { animation: heroKb1 18s 0s infinite ease-out; }
271
- .hero-slide.s2 img { animation: heroKb2 18s 6s infinite ease-out; }
272
- .hero-slide.s3 img { animation: heroKb3 18s 12s infinite ease-out; }
273
-
274
- @keyframes heroFade {
275
- 0% { opacity: 0; }
276
- 3% { opacity: 1; } /* fade in over ~540ms */
277
- 33% { opacity: 1; } /* hold visible ~5.4s out of the 6s window */
278
- 36% { opacity: 0; } /* fade out over ~540ms */
279
- 100% { opacity: 0; }
280
- }
281
-
282
- /* Slide 1 — main exterior. Slow push-in from a slight pull-back. */
283
- @keyframes heroKb1 {
284
- 0% { transform: scale(1.04) translate(0%, 0%); }
285
- 36% { transform: scale(1.16) translate(-1.2%, 0.4%); }
286
- 100% { transform: scale(1.16) translate(-1.2%, 0.4%); }
287
- }
288
- /* Slide 2 — interior moment. Pan right while pushing in. */
289
- @keyframes heroKb2 {
290
- 0% { transform: scale(1.06) translate(1.5%, 0%); }
291
- 36% { transform: scale(1.18) translate(-1%, -0.8%); }
292
- 100% { transform: scale(1.18) translate(-1%, -0.8%); }
293
- }
294
- /* Slide 3 — garden / outdoor. Tilt up while pushing in. */
295
- @keyframes heroKb3 {
296
- 0% { transform: scale(1.05) translate(0%, 1%); }
297
- 36% { transform: scale(1.18) translate(0.8%, -1.4%); }
298
- 100% { transform: scale(1.18) translate(0.8%, -1.4%); }
299
- }
300
-
301
- /* Reduced-motion users: hold slide 1, no crossfade, no zoom. */
302
- @media (prefers-reduced-motion: reduce) {
303
- .hero-slide.s1 { opacity: 1; animation: none; }
304
- .hero-slide.s2, .hero-slide.s3 { opacity: 0; animation: none; }
305
- .hero-slide img { animation: none; transform: none; }
306
- }
307
-
308
- .info-card {
309
- position: absolute;
310
- left: 6vw; bottom: 6vh;
311
- background: rgba(252, 250, 246, 0.97);
312
- padding: 20px 26px 22px;
313
- width: 380px;
314
- border-top: 1px solid var(--gold-soft);
315
- box-shadow: 0 8px 36px rgba(14,20,24,0.14);
316
- }
317
- .info-card .tag {
318
- display: inline-block;
319
- font-family: var(--sans);
320
- font-size: 9px; font-weight: 600;
321
- letter-spacing: 0.32em; text-transform: uppercase;
322
- color: var(--gold);
323
- margin-bottom: 12px;
324
- }
325
- .info-card .title {
326
- font-family: var(--serif);
327
- font-style: italic;
328
- font-weight: 400;
329
- font-size: 32px;
330
- line-height: 1.1;
331
- color: var(--ink);
332
- margin-bottom: 8px;
333
- }
334
- .info-card .address {
335
- font-family: var(--body-serif);
336
- font-size: 14px;
337
- color: var(--ink-2);
338
- line-height: 1.45;
339
- margin-bottom: 14px;
340
- }
341
- .info-card .price {
342
- font-family: var(--serif);
343
- font-size: 19px;
344
- color: var(--ink);
345
- margin-bottom: 4px;
346
- letter-spacing: 0.005em;
347
- }
348
- .info-card .price em { font-style: italic; color: var(--gold); }
349
- .info-card .meta {
350
- font-family: var(--body-serif);
351
- font-size: 12.5px;
352
- color: var(--slate);
353
- line-height: 1.55;
354
- margin-bottom: 14px;
355
- }
356
- .info-card .specs {
357
- display: flex; flex-wrap: nowrap;
358
- gap: 0;
359
- padding: 10px 0;
360
- margin-bottom: 14px;
361
- border-top: 1px solid var(--rule);
362
- border-bottom: 1px solid var(--rule);
363
- font-family: var(--sans);
364
- font-size: 9.5px; font-weight: 500;
365
- letter-spacing: 0.10em; text-transform: uppercase;
366
- color: var(--ink-2);
367
- font-variant-numeric: tabular-nums;
368
- justify-content: space-between;
369
- align-items: baseline;
370
- }
371
- .info-card .specs span { white-space: nowrap; flex: 0 0 auto; }
372
- .info-card .specs span + span::before {
373
- content: "·";
374
- color: var(--gold-soft);
375
- margin: 0 8px;
376
- }
377
- .info-card .links {
378
- display: flex; flex-wrap: nowrap; gap: 16px;
379
- font-family: var(--sans);
380
- font-size: 9.5px; font-weight: 500;
381
- letter-spacing: 0.14em; text-transform: uppercase;
382
- color: var(--ink-2);
383
- margin-bottom: 16px;
384
- }
385
- .info-card .links a {
386
- text-decoration: none;
387
- border-bottom: 1px solid var(--gold-soft);
388
- padding-bottom: 2px;
389
- white-space: nowrap;
390
- transition: color 200ms;
391
- }
392
- .info-card .links a:hover { color: var(--gold); }
393
- .info-card .cta {
394
- display: block;
395
- width: 100%;
396
- padding: 12px 16px;
397
- background: var(--ink);
398
- color: var(--paper);
399
- font-family: var(--sans);
400
- font-size: 11px; font-weight: 500;
401
- letter-spacing: 0.28em; text-transform: uppercase;
402
- text-align: center;
403
- text-decoration: none;
404
- border: none;
405
- cursor: pointer;
406
- transition: background 200ms;
407
- }
408
- .info-card .cta:hover { background: var(--gold); }
409
-
410
- /* ───────── STICKY SUB-NAV (after scroll) ───────── */
411
- .subnav {
412
- position: sticky;
413
- top: 0;
414
- z-index: 40;
415
- background: var(--paper);
416
- border-bottom: 1px solid var(--rule);
417
- padding: 14px 32px;
418
- display: flex; align-items: center; justify-content: space-between;
419
- transform: translateY(-100%);
420
- transition: transform 300ms ease;
421
- }
422
- .subnav.visible { transform: translateY(0); }
423
- .subnav .left {
424
- font-family: var(--serif);
425
- font-size: 17px;
426
- color: var(--ink);
427
- }
428
- .subnav .left .price {
429
- color: var(--slate);
430
- font-size: 12px;
431
- font-family: var(--sans);
432
- letter-spacing: 0.12em;
433
- margin-left: 14px;
434
- font-variant-numeric: tabular-nums;
435
- }
436
- .subnav .right {
437
- display: flex; align-items: center; gap: 16px;
438
- }
439
- .subnav .right a {
440
- font-family: var(--sans);
441
- font-size: 10px; font-weight: 500;
442
- letter-spacing: 0.22em; text-transform: uppercase;
443
- color: var(--ink-2);
444
- text-decoration: none;
445
- padding: 6px 10px;
446
- border: 1px solid var(--rule);
447
- }
448
- .subnav .right a:hover { background: var(--paper-2); }
449
- .subnav .right a.cta {
450
- background: var(--ink);
451
- color: var(--paper);
452
- border-color: var(--ink);
453
- }
454
- .subnav .right a.cta:hover { background: var(--gold); border-color: var(--gold); }
455
-
456
- /* ───────── BODY SECTIONS ───────── */
457
- main {
458
- padding: 0;
459
- }
460
- .body-block {
461
- max-width: 720px;
462
- margin: 0 auto;
463
- padding: 64px 32px 32px;
464
- }
465
- .body-block.short { padding-bottom: 16px; }
466
- .body-block h2 {
467
- font-family: var(--serif);
468
- font-style: italic;
469
- font-weight: 400;
470
- font-size: 22px;
471
- color: var(--ink);
472
- margin-bottom: 18px;
473
- letter-spacing: -0.005em;
474
- }
475
- .body-block h2::before {
476
- content: '';
477
- display: block;
478
- width: 36px;
479
- height: 1px;
480
- background: var(--gold-soft);
481
- margin-bottom: 16px;
482
- }
483
- .body-block p {
484
- font-family: var(--body-serif);
485
- font-size: 15.5px;
486
- line-height: 1.7;
487
- color: var(--ink-2);
488
- letter-spacing: 0.005em;
489
- }
490
- .body-block p + p { margin-top: 16px; }
491
- .body-block p strong { color: var(--ink); font-weight: 500; }
492
- .body-block p em { color: var(--gold); font-style: italic; }
493
-
494
- /* Drop cap on the first paragraph of each body-block. Cormorant Garamond
495
- to echo the section h2 voice; ink rather than gold so the existing gold
496
- accent (eyebrows, em-text, hairlines) stays the only chromatic editorial
497
- note on the page. KEEP — this is the signature editorial detail of the
498
- landing page, mirroring the brochure's opener treatment. */
499
- .body-block p:first-of-type::first-letter {
500
- font-family: var(--serif);
501
- font-weight: 400;
502
- font-size: 3.6em;
503
- line-height: 0.85;
504
- float: left;
505
- margin: 0.08em 0.12em -0.04em 0;
506
- color: var(--ink);
507
- letter-spacing: -0.02em;
508
- }
509
-
510
- .section-eyebrow {
511
- font-family: var(--sans);
512
- font-size: 10px; font-weight: 600;
513
- letter-spacing: 0.36em; text-transform: uppercase;
514
- color: var(--gold);
515
- margin-bottom: 14px;
516
- }
517
-
518
- /* ───────── PHOTO GRID ───────── */
519
- .photo-grid {
520
- max-width: 1100px;
521
- margin: 32px auto;
522
- padding: 0 32px;
523
- display: grid;
524
- grid-template-columns: 1fr 1fr;
525
- gap: 16px;
526
- }
527
- .photo-grid .cell {
528
- position: relative;
529
- overflow: hidden;
530
- aspect-ratio: 4/3;
531
- background: var(--paper-2);
532
- }
533
- .photo-grid .cell img {
534
- width: 100%; height: 100%;
535
- object-fit: cover;
536
- transition: transform 600ms ease;
537
- }
538
- .photo-grid .cell:hover img { transform: scale(1.02); }
539
-
540
- .photo-grid.tall .cell {
541
- aspect-ratio: 4/5;
542
- }
543
-
544
- /* Wider single full-width image for atmospheric breaks */
545
- .photo-full {
546
- margin: 32px 0;
547
- }
548
- .photo-full img {
549
- width: 100%;
550
- height: auto;
551
- max-height: 80vh;
552
- object-fit: cover;
553
- }
554
-
555
- /* ───────── FLOOR PLAN ───────── */
556
- .floorplan-section {
557
- background: var(--paper-2);
558
- padding: 80px 32px;
559
- margin-top: 32px;
560
- }
561
- .floorplan-section .inner {
562
- max-width: 1100px;
563
- margin: 0 auto;
564
- display: grid;
565
- grid-template-columns: 1.3fr 1fr;
566
- gap: 48px;
567
- align-items: start;
568
- }
569
- .floorplan-section img {
570
- width: 100%;
571
- height: auto;
572
- background: white;
573
- padding: 16px;
574
- }
575
- .floorplan-section .meta h2 {
576
- font-family: var(--serif);
577
- font-style: italic;
578
- font-weight: 400;
579
- font-size: 26px;
580
- color: var(--ink);
581
- margin-bottom: 8px;
582
- }
583
- .floorplan-section .meta .lead {
584
- font-family: var(--body-serif);
585
- font-size: 14px;
586
- color: var(--ink-2);
587
- margin-bottom: 24px;
588
- line-height: 1.6;
589
- }
590
- .floorplan-section .areas {
591
- display: grid;
592
- grid-template-columns: 1fr 1fr;
593
- gap: 12px 18px;
594
- border-top: 1px solid var(--rule);
595
- padding-top: 20px;
596
- font-variant-numeric: tabular-nums;
597
- }
598
- .floorplan-section .areas .row .k {
599
- display: block;
600
- font-family: var(--sans);
601
- font-size: 9px; font-weight: 600;
602
- letter-spacing: 0.28em; text-transform: uppercase;
603
- color: var(--slate);
604
- margin-bottom: 4px;
605
- }
606
- .floorplan-section .areas .row .v {
607
- font-family: var(--serif);
608
- font-size: 17px;
609
- color: var(--ink);
610
- }
611
- .floorplan-section .areas .row .v em { font-style: italic; color: var(--gold); }
612
-
613
- /* ───────── KEY FACTS / MATERIAL INFO ───────── */
614
- .key-facts {
615
- max-width: 1100px;
616
- margin: 64px auto 32px;
617
- padding: 0 32px;
618
- }
619
- .key-facts h2 {
620
- font-family: var(--serif);
621
- font-style: italic;
622
- font-size: 22px;
623
- color: var(--ink);
624
- margin-bottom: 24px;
625
- text-align: center;
626
- }
627
- .key-facts h2::after {
628
- content: '';
629
- display: block;
630
- width: 36px;
631
- height: 1px;
632
- background: var(--gold-soft);
633
- margin: 12px auto 0;
634
- }
635
- .key-facts .grid {
636
- display: grid;
637
- grid-template-columns: repeat(3, 1fr);
638
- gap: 18px 36px;
639
- font-variant-numeric: tabular-nums;
640
- }
641
- .key-facts .row {
642
- border-bottom: 1px solid var(--rule);
643
- padding: 12px 0 14px;
644
- }
645
- .key-facts .row .k {
646
- font-family: var(--sans);
647
- font-size: 9px; font-weight: 600;
648
- letter-spacing: 0.28em; text-transform: uppercase;
649
- color: var(--slate);
650
- margin-bottom: 5px;
651
- }
652
- .key-facts .row .v {
653
- font-family: var(--body-serif);
654
- font-size: 14px;
655
- color: var(--ink);
656
- }
657
- .key-facts .footnote {
658
- grid-column: 1 / -1;
659
- margin-top: 18px;
660
- font-family: var(--body-serif);
661
- font-style: italic;
662
- font-size: 12px;
663
- color: var(--slate);
664
- text-align: center;
665
- }
666
-
667
- /* ───────── CTA STRIP ───────── */
668
- .cta-strip {
669
- background: var(--ink);
670
- color: var(--paper);
671
- text-align: center;
672
- padding: 64px 32px;
673
- margin-top: 64px;
674
- }
675
- .cta-strip h2 {
676
- font-family: var(--serif);
677
- font-style: italic;
678
- font-weight: 400;
679
- font-size: 32px;
680
- margin-bottom: 28px;
681
- color: var(--paper);
682
- }
683
- .cta-strip .cta-row {
684
- display: flex; gap: 32px; justify-content: center; align-items: center;
685
- flex-wrap: wrap;
686
- }
687
- .cta-strip .cta-row a {
688
- font-family: var(--sans);
689
- font-size: 11px; font-weight: 500;
690
- letter-spacing: 0.28em; text-transform: uppercase;
691
- color: var(--paper);
692
- text-decoration: none;
693
- padding: 12px 22px;
694
- border: 1px solid rgba(252,250,246,0.32);
695
- transition: background 200ms, border-color 200ms;
696
- }
697
- .cta-strip .cta-row a:hover {
698
- background: var(--gold);
699
- border-color: var(--gold);
700
- }
701
- .cta-strip .cta-row a.solid {
702
- background: var(--paper);
703
- color: var(--ink);
704
- border-color: var(--paper);
705
- }
706
- .cta-strip .cta-row a.solid:hover {
707
- background: var(--gold);
708
- color: var(--paper);
709
- border-color: var(--gold);
710
- }
711
-
712
- /* ───────── FOOTER ───────── */
713
- footer {
714
- background: var(--paper);
715
- padding: 48px 32px 32px;
716
- border-top: 1px solid var(--rule);
717
- }
718
- footer .inner {
719
- max-width: 1100px;
720
- margin: 0 auto;
721
- display: flex;
722
- justify-content: space-between;
723
- align-items: flex-start;
724
- flex-wrap: wrap;
725
- gap: 32px;
726
- }
727
- footer .agent {
728
- font-family: var(--body-serif);
729
- font-size: 13px;
730
- color: var(--ink-2);
731
- line-height: 1.6;
732
- max-width: 320px;
733
- }
734
- footer .agent .name {
735
- font-family: var(--serif);
736
- font-size: 17px;
737
- color: var(--ink);
738
- margin-bottom: 4px;
739
- }
740
- footer .agent .name em { font-style: italic; color: var(--gold); }
741
- footer .agent .label {
742
- font-family: var(--sans);
743
- font-size: 9px; font-weight: 600;
744
- letter-spacing: 0.32em; text-transform: uppercase;
745
- color: var(--slate);
746
- margin-bottom: 8px;
747
- }
748
- footer .legal {
749
- font-family: var(--body-serif);
750
- font-style: italic;
751
- font-size: 11px;
752
- color: var(--slate);
753
- line-height: 1.55;
754
- max-width: 600px;
755
- }
756
- footer .colophon {
757
- width: 100%;
758
- border-top: 1px solid var(--rule);
759
- padding-top: 18px;
760
- margin-top: 24px;
761
- display: flex;
762
- justify-content: space-between;
763
- align-items: center;
764
- font-family: var(--sans);
765
- font-size: 10px; font-weight: 500;
766
- letter-spacing: 0.22em; text-transform: uppercase;
767
- color: var(--slate);
768
- }
769
- footer .colophon img { height: 14px; width: auto; opacity: 0.75; }
770
-
771
- /* ───────── RESPONSIVE ─────────
772
- The desktop top-nav (deep-section links + centred logo +
773
- utility links) needs ~1100 px to breathe. Below 960 px the
774
- deep-section labels overlap the centred logo, so we collapse
775
- the entire desktop nav into a hamburger-revealed drawer.
776
-
777
- The hero overlay → vertical-stack rule kicks in slightly later
778
- at 760 px (where the floating info-card starts to occlude
779
- the rotator). */
780
-
781
- @media (max-width: 960px) {
782
- .burger { display: block; }
783
- .topnav .left, .topnav .right { display: none; }
784
- /* The centred logo stays — it's the only element left on the bar */
785
- .topnav .center { left: auto; right: auto; transform: none; position: static; margin-left: auto; margin-right: auto; }
786
- }
787
-
788
- @media (max-width: 760px) {
789
- .hero {
790
- height: auto;
791
- min-height: 0;
792
- display: flex;
793
- flex-direction: column;
794
- background: var(--paper);
795
- }
796
- .hero-stage {
797
- position: relative;
798
- width: 100%;
799
- aspect-ratio: 4/3;
800
- flex: 0 0 auto;
801
- background: var(--ink);
802
- }
803
- .info-card {
804
- position: static;
805
- left: auto; right: auto; bottom: auto;
806
- width: auto;
807
- margin: 0;
808
- padding: 24px 24px 28px;
809
- box-shadow: none;
810
- border-top: 1px solid var(--rule);
811
- background: var(--paper);
812
- }
813
- .info-card .title { font-size: 30px; }
814
- .info-card .specs { font-size: 10px; }
815
- .info-card .links { font-size: 10px; }
816
-
817
- .photo-grid { grid-template-columns: 1fr; gap: 12px; }
818
- .floorplan-section .inner { grid-template-columns: 1fr; gap: 28px; }
819
- .key-facts .grid { grid-template-columns: 1fr 1fr; }
820
- .subnav .right a:not(.cta) { display: none; }
821
- .body-block { padding: 48px 24px 24px; }
822
- .topnav { padding: 0 18px; }
823
- /* Footer colophon stacks on mobile: property line on its own row,
824
- copyright on its own row beneath. Matches the rest of the mobile
825
- stack pattern (every multi-column block becomes single-column). */
826
- footer .colophon {
827
- flex-direction: column;
828
- align-items: flex-start;
829
- gap: 8px;
830
- }
831
- }
832
-
833
- @media (max-width: 440px) {
834
- .hero-stage { aspect-ratio: 5/4; }
835
- .key-facts .grid { grid-template-columns: 1fr; }
836
- .subnav .left .price { display: none; }
837
- }
838
- /* BRAND_TYPE_ROLES_OVERRIDE_SLOT — branded register may inject role overrides here */
839
- </style>
840
- </head>
841
- <body>
842
-
843
- <!-- ════════════════ TOP NAV ════════════════ -->
844
- <nav class="topnav">
845
- <button class="burger" aria-label="Open menu" aria-expanded="false" aria-controls="drawer">
846
- <span></span><span></span><span></span>
847
- </button>
848
- <!-- REPLACE: Deep-section links — section names + #anchor IDs that match the
849
- <article id="..."> blocks below. Keep the four-link rhythm; rename only
850
- if the property's narrative arc differs from the canonical
851
- (Story / The Home / The Garden / The Area). All four anchors are also
852
- used in the drawer + sub-nav below. -->
853
- <div class="left">
854
- <a href="#story">{{ nav_section_1 }}</a>
855
- <a href="#home">{{ nav_section_2 }}</a>
856
- <a href="#garden">{{ nav_section_3 }}</a>
857
- <a href="#area">{{ nav_section_4 }}</a>
858
- </div>
859
- <div class="center">
860
- <!-- The brand DARK-art logo (placed on the warm-paper top-nav).
861
- {{ brand_slug }} resolves to the agent's brand slug; the file is
862
- <brand>-logo-dark.png per the brand-design SKILL convention. -->
863
- <img src="images/{{ brand_slug }}-logo-dark.png" alt="{{ brand_name }}">
864
- </div>
865
- <!-- REPLACE: Utility links — Brochure (downloads the in-bundle PDF, named
866
- {{ property_slug }}-brochure.pdf), Listing (the agent's live listing
867
- URL), Enquire (mailto: agent). Three links, in that order. -->
868
- <div class="right">
869
- <a href="{{ property_slug }}-brochure.pdf" download>Brochure</a>
870
- <a href="{{ listing_url }}" target="_blank">Listing</a>
871
- <a href="mailto:{{ office_email }}">Enquire</a>
872
- </div>
873
- </nav>
874
-
875
- <!-- Mobile drawer (revealed by the hamburger).
876
- IMPORTANT: drawer must contain EVERY nav link the desktop has, PLUS the
877
- extra utility links (Floor plan, Key facts, Watch video tour) and a CTA.
878
- Mobile users get more navigation, not less. Order is: deep sections,
879
- then utility links, then a closing CTA. -->
880
- <div class="drawer" id="drawer" aria-hidden="true">
881
- <button class="drawer-close" aria-label="Close menu">&times;</button>
882
- <!-- REPLACE: Drawer nav — same anchors as the desktop deep-links plus
883
- the utility links + a closing CTA. Mobile users get MORE navigation,
884
- not less. The "View on Brand" label uses the brand's name verbatim
885
- ("View on Beacons", "View on Muvin", etc.). -->
886
- <nav class="drawer-nav">
887
- <a href="#story">{{ nav_section_1 }}</a>
888
- <a href="#home">{{ nav_section_2 }}</a>
889
- <a href="#garden">{{ nav_section_3 }}</a>
890
- <a href="#area">{{ nav_section_4 }}</a>
891
- <a href="#floorplan">Floor plan</a>
892
- <a href="#facts">Key facts</a>
893
- <a href="{{ property_slug }}-brochure.pdf" download>Download brochure</a>
894
- <a href="{{ video_url }}" target="_blank">Watch video tour</a>
895
- <a href="{{ listing_url }}" target="_blank">View on {{ brand_name }}</a>
896
- <a href="mailto:{{ office_email }}?subject={{ email_subject_enquiry }}" class="drawer-cta">Enquire</a>
897
- </nav>
898
- <!-- REPLACE: Drawer foot — agent name, agency, branch, plus a tel: link.
899
- {{ office_phone_tel }} is the international-format dialer link (e.g.
900
- "+441873377575"); {{ office_phone }} is the display format. -->
901
- <div class="drawer-foot">
902
- {{ agent_first_name }} {{ agent_surname }} · {{ brand_name }} · {{ brand_town }}<br>
903
- <a href="tel:{{ office_phone_tel }}">{{ office_phone }}</a>
904
- </div>
905
- </div>
906
-
907
- <!-- ════════════════ STICKY SUB-NAV ════════════════ -->
908
- <!-- Revealed by the JS at the bottom of the page once the hero scrolls past.
909
- Mirrors the hero info-card's three utility links plus a Request-viewing CTA. -->
910
- <nav class="subnav" id="subnav">
911
- <!-- REPLACE: Sub-nav left — property name + price + postcode (compressed
912
- summary of the hero info-card for the scrolled state). -->
913
- <div class="left">
914
- {{ property_name }}
915
- <span class="price">{{ price_formatted }} · {{ postcode }}</span>
916
- </div>
917
- <!-- REPLACE: Sub-nav right — same utility links as the hero info-card.
918
- Keep "Request viewing" as the rightmost CTA in solid ink. -->
919
- <div class="right">
920
- <a href="#floorplan">Floor plan</a>
921
- <a href="{{ property_slug }}-brochure.pdf" download>Brochure</a>
922
- <a href="{{ video_url }}" target="_blank">Video tour</a>
923
- <a href="mailto:{{ office_email }}?subject={{ email_subject_viewing }}" class="cta">Request viewing</a>
924
- </div>
925
- </nav>
926
-
927
- <!-- ════════════════ HERO ════════════════ -->
928
- <!-- 3-slide Ken-Burns rotator. Image filenames follow the convention
929
- PROPERTY-SLUG-hero-N-<role>.webp (source-resolution, q88 — see SKILL
930
- "Hero — rotating Ken-Burns stage"). Pick three different MOMENTS, not
931
- three angles of the same shot:
932
- Slide 1: main exterior (often the cover image — golden hour preferred)
933
- Slide 2: principal interior (kitchen-dining, hearth, principal sitting)
934
- Slide 3: garden / outdoor / aerial (different from slide 1 in subject) -->
935
- <section class="hero">
936
- <!-- REPLACE three hero slides. Filename pattern:
937
- {{ property_slug }}-hero-N-<role>.webp
938
- Three DIFFERENT MOMENTS, not three angles of the same shot:
939
- Slide 1: main exterior (often golden hour; usually the cover image)
940
- Slide 2: principal interior (kitchen-dining, hearth, principal sitting)
941
- Slide 3: garden / outdoor / aerial (different subject from slide 1)
942
- Alt: property name + the moment captured. -->
943
- <div class="hero-stage" aria-label="{{ property_name }} — three views" role="img">
944
- <div class="hero-slide s1"><img src="images/{{ hero_1_src }}" alt="{{ hero_1_alt }}"></div>
945
- <div class="hero-slide s2"><img src="images/{{ hero_2_src }}" alt="{{ hero_2_alt }}"></div>
946
- <div class="hero-slide s3"><img src="images/{{ hero_3_src }}" alt="{{ hero_3_alt }}"></div>
947
- </div>
948
- <!-- REPLACE: Info-card — sits over the hero (desktop) or stacks under
949
- (mobile). Substitute the title, address (two lines via <br>), price
950
- (qualifier + amount), meta (tenure · year), four spec cells, three
951
- utility links, and the request-viewing CTA. The specs row + links row
952
- each MUST stay single-line — see copy.md "Stats rows". -->
953
- <div class="info-card">
954
- <span class="tag">{{ hero_tag }}</span>
955
- <h1 class="title">{{ property_name }}</h1>
956
- <div class="address">{{ address_line_1 }},<br>{{ locality }}, {{ county }} {{ postcode }}</div>
957
- <div class="price">{{ price_qualifier }} <em>{{ price_formatted }}</em></div>
958
- <div class="meta">{{ tenure }} · c.&nbsp;{{ year_built }}</div>
959
- <div class="specs">
960
- <span>{{ spec_beds }}</span>
961
- <span>{{ spec_baths }}</span>
962
- <span>{{ spec_area }}</span>
963
- <span>{{ spec_plot }}</span>
964
- </div>
965
- <div class="links">
966
- <a href="#floorplan">Floor plan</a>
967
- <a href="{{ property_slug }}-brochure.pdf" download>Brochure</a>
968
- <a href="{{ video_url }}" target="_blank">Video tour</a>
969
- </div>
970
- <a href="mailto:{{ office_email }}?subject={{ email_subject_viewing }}" class="cta">Request viewing</a>
971
- </div>
972
- </section>
973
-
974
- <!-- ════════════════ MAIN BODY ════════════════ -->
975
- <main>
976
-
977
- <!-- INTRO BLOCK -->
978
- <!-- REPLACE: Story / "Of place & pedigree" section.
979
- eyebrow → fixed phrase or property-specific synonym for the chapter
980
- h2 → italic editorial headline summarising what this home is
981
- (15-25 words; one declarative sentence; place + character)
982
- p1, p2 → two paragraphs of opening editorial. Distil from seller
983
- brief Q1/Q3/Q5/Q19/Q20. Para 1 short (3-4 sentences) so the
984
- dropcap reads cleanly; para 2 longer (4-6 sentences). Close
985
- para 2 with an italic phrase wrapped in <em>. -->
986
- <article class="body-block" id="story">
987
- <div class="section-eyebrow">{{ landing_story_eyebrow }}</div>
988
- <h2>{{ landing_story_headline }}</h2>
989
- <p>
990
- {{ landing_story_para_1 }}
991
- </p>
992
- <p>
993
- {{ landing_story_para_2 }}
994
- </p>
995
- </article>
996
-
997
- <!-- PHOTO GRID 1 — Establishing exterior + drone -->
998
- <!-- REPLACE four establishing cells — front elevation, drone aerial,
999
- atmospheric exterior, garden-with-home-context. These set scale
1000
- before the body copy goes inside. -->
1001
- <div class="photo-grid">
1002
- <div class="cell"><img src="images/{{ landing_grid_1_src_a }}" alt="{{ landing_grid_1_alt_a }}"></div>
1003
- <div class="cell"><img src="images/{{ landing_grid_1_src_b }}" alt="{{ landing_grid_1_alt_b }}"></div>
1004
- <div class="cell"><img src="images/{{ landing_grid_1_src_c }}" alt="{{ landing_grid_1_alt_c }}"></div>
1005
- <div class="cell"><img src="images/{{ landing_grid_1_src_d }}" alt="{{ landing_grid_1_alt_d }}"></div>
1006
- </div>
1007
-
1008
- <!-- THE HOME -->
1009
- <!-- REPLACE: The Home / "A home at ease" section.
1010
- Three paragraphs (each 4-6 sentences) covering:
1011
- (1) entrance hall + how the ground-floor plan opens / divides
1012
- (2) kitchen-dining detail — cabinetry, worksurfaces, appliances,
1013
- connection to utility / outdoor
1014
- (3) sitting room(s) + any signature interior feature (hearth,
1015
- orangery, conservatory, garden room). Use <strong> sparingly
1016
- for the two or three most distinctive features. Em-dashes
1017
- rare. Distil from seller brief Q5-Q7. -->
1018
- <article class="body-block" id="home">
1019
- <div class="section-eyebrow">{{ landing_home_eyebrow }}</div>
1020
- <h2>{{ landing_home_headline }}</h2>
1021
- <p>
1022
- {{ landing_home_para_1 }}
1023
- </p>
1024
- <p>
1025
- {{ landing_home_para_2 }}
1026
- </p>
1027
- <p>
1028
- {{ landing_home_para_3 }}
1029
- </p>
1030
- </article>
1031
-
1032
- <!-- PHOTO GRID 2 — Kitchen & dining. REPLACE four cells from the
1033
- kitchen-breakfast-dining narrative: wide shot, island detail,
1034
- range/appliances, dining end. -->
1035
- <div class="photo-grid">
1036
- <div class="cell"><img src="images/{{ landing_grid_2_src_a }}" alt="{{ landing_grid_2_alt_a }}"></div>
1037
- <div class="cell"><img src="images/{{ landing_grid_2_src_b }}" alt="{{ landing_grid_2_alt_b }}"></div>
1038
- <div class="cell"><img src="images/{{ landing_grid_2_src_c }}" alt="{{ landing_grid_2_alt_c }}"></div>
1039
- <div class="cell"><img src="images/{{ landing_grid_2_src_d }}" alt="{{ landing_grid_2_alt_d }}"></div>
1040
- </div>
1041
-
1042
- <!-- PHOTO GRID 3 — Reception & living. REPLACE four cells from the
1043
- reception narrative: signature hearth/sitting room, second reception,
1044
- hallway, third reception (orangery / day room / garden room). -->
1045
- <div class="photo-grid">
1046
- <div class="cell"><img src="images/{{ landing_grid_3_src_a }}" alt="{{ landing_grid_3_alt_a }}"></div>
1047
- <div class="cell"><img src="images/{{ landing_grid_3_src_b }}" alt="{{ landing_grid_3_alt_b }}"></div>
1048
- <div class="cell"><img src="images/{{ landing_grid_3_src_c }}" alt="{{ landing_grid_3_alt_c }}"></div>
1049
- <div class="cell"><img src="images/{{ landing_grid_3_src_d }}" alt="{{ landing_grid_3_alt_d }}"></div>
1050
- </div>
1051
-
1052
- <!-- THE BEDROOMS -->
1053
- <!-- REPLACE: Bedrooms & baths section. Two paragraphs:
1054
- (1) the sleeping floor's character + the bedroom sequence (count,
1055
- layout, light, view)
1056
- (2) the principal suite + family bath split, and any standout
1057
- bathroom feature.
1058
- Distil from seller brief Q6/Q10. Avoid "house" — use "home". -->
1059
- <article class="body-block" id="bedrooms">
1060
- <div class="section-eyebrow">{{ landing_bedrooms_eyebrow }}</div>
1061
- <h2>{{ landing_bedrooms_headline }}</h2>
1062
- <p>
1063
- {{ landing_bedrooms_para_1 }}
1064
- </p>
1065
- <p>
1066
- {{ landing_bedrooms_para_2 }}
1067
- </p>
1068
- </article>
1069
-
1070
- <!-- PHOTO GRID 4 — Bedrooms & baths. REPLACE four cells, mixing
1071
- bedrooms and bathrooms so the grid reads as the floor as a whole:
1072
- principal bedroom (hero), second/third double, family bathroom,
1073
- secondary bathroom. -->
1074
- <div class="photo-grid">
1075
- <div class="cell"><img src="images/{{ landing_grid_4_src_a }}" alt="{{ landing_grid_4_alt_a }}"></div>
1076
- <div class="cell"><img src="images/{{ landing_grid_4_src_b }}" alt="{{ landing_grid_4_alt_b }}"></div>
1077
- <div class="cell"><img src="images/{{ landing_grid_4_src_c }}" alt="{{ landing_grid_4_alt_c }}"></div>
1078
- <div class="cell"><img src="images/{{ landing_grid_4_src_d }}" alt="{{ landing_grid_4_alt_d }}"></div>
1079
- </div>
1080
-
1081
- <!-- THE GARDEN -->
1082
- <!-- REPLACE: Garden / outdoor section. Two paragraphs:
1083
- (1) the principal outdoor features (terrace, pool, outdoor kitchen,
1084
- pergola, summerhouse — whatever the property actually has;
1085
- see structure.md "Distinguishing features clearly")
1086
- (2) the wider garden — lawns, planting, paddocks, screening, outlook.
1087
- Close para 2 with a one-clause italic if the brief supports one.
1088
- For properties without a garden complex, repurpose this section as
1089
- the property's single most distinctive outdoor feature page — keep
1090
- the eyebrow tied to the actual feature names, never "garden complex". -->
1091
- <article class="body-block" id="garden">
1092
- <div class="section-eyebrow">{{ landing_garden_eyebrow }}</div>
1093
- <h2>{{ landing_garden_headline }}</h2>
1094
- <p>
1095
- {{ landing_garden_para_1 }}
1096
- </p>
1097
- <p>
1098
- {{ landing_garden_para_2 }}
1099
- </p>
1100
- </article>
1101
-
1102
- <!-- PHOTO GRID 5 — Garden complex. REPLACE four cells. For properties
1103
- without a true garden complex, use atmospheric shots: rear elevation,
1104
- garden-from-distance, twilight exterior, drone aerial of the plot. -->
1105
- <div class="photo-grid">
1106
- <div class="cell"><img src="images/{{ landing_grid_5_src_a }}" alt="{{ landing_grid_5_alt_a }}"></div>
1107
- <div class="cell"><img src="images/{{ landing_grid_5_src_b }}" alt="{{ landing_grid_5_alt_b }}"></div>
1108
- <div class="cell"><img src="images/{{ landing_grid_5_src_c }}" alt="{{ landing_grid_5_alt_c }}"></div>
1109
- <div class="cell"><img src="images/{{ landing_grid_5_src_d }}" alt="{{ landing_grid_5_alt_d }}"></div>
1110
- </div>
1111
-
1112
- <!-- THE AREA -->
1113
- <!-- REPLACE: The Area section. Two paragraphs:
1114
- (1) administrative + transport + nearest amenities (LA, nearest
1115
- town, train/airport, schools)
1116
- (2) the qualitative setting — open countryside / village vibe /
1117
- urban edge / coastal — and signature walks/landmarks.
1118
- Distil from seller brief Q11-Q14. -->
1119
- <article class="body-block" id="area">
1120
- <div class="section-eyebrow">{{ landing_area_eyebrow }}</div>
1121
- <h2>{{ landing_area_headline }}</h2>
1122
- <p>
1123
- {{ landing_area_para_1 }}
1124
- </p>
1125
- <p>
1126
- {{ landing_area_para_2 }}
1127
- </p>
1128
- </article>
1129
-
1130
- <!-- PHOTO GRID 6 — Closing photographic narrative. REPLACE four cells —
1131
- a wider aerial, an additional internal moment, an open-plan view,
1132
- and an atmospheric closing shot (often the cover hero re-used here
1133
- as a book-end). -->
1134
- <div class="photo-grid">
1135
- <div class="cell"><img src="images/{{ landing_grid_6_src_a }}" alt="{{ landing_grid_6_alt_a }}"></div>
1136
- <div class="cell"><img src="images/{{ landing_grid_6_src_b }}" alt="{{ landing_grid_6_alt_b }}"></div>
1137
- <div class="cell"><img src="images/{{ landing_grid_6_src_c }}" alt="{{ landing_grid_6_alt_c }}"></div>
1138
- <div class="cell"><img src="images/{{ landing_grid_6_src_d }}" alt="{{ landing_grid_6_alt_d }}"></div>
1139
- </div>
1140
-
1141
- <!-- ════════════════ FLOOR PLAN ════════════════ -->
1142
- <section class="floorplan-section" id="floorplan">
1143
- <div class="inner">
1144
- <!-- Floor plan PNG — line-art, copied unchanged from the canonical
1145
- ({{ property_slug }}-floorplan.png). -->
1146
- <img src="images/{{ property_slug }}-floorplan.png" alt="The composite floor plan for {{ property_name }}">
1147
- <!-- REPLACE Floor plan meta — italic h2, lead sentence (total area +
1148
- plot), and the .areas grid. Six rows MAX. Drop any row that
1149
- doesn't apply (no acreage → drop Plot; no outbuildings → drop
1150
- those rows). Excluded outbuildings MUST be listed separately,
1151
- never folded into the principal home's sq ft. -->
1152
- <div class="meta">
1153
- <h2>{{ landing_floorplan_heading }}</h2>
1154
- <p class="lead">{{ landing_floorplan_lead }}</p>
1155
- <div class="areas">
1156
- <div class="row"><span class="k">{{ landing_floorplan_row_1_k }}</span><span class="v">{{ landing_floorplan_row_1_v }}</span></div>
1157
- <div class="row"><span class="k">{{ landing_floorplan_row_2_k }}</span><span class="v">{{ landing_floorplan_row_2_v }}</span></div>
1158
- <div class="row"><span class="k">{{ landing_floorplan_row_3_k }}</span><span class="v">{{ landing_floorplan_row_3_v }}</span></div>
1159
- <div class="row"><span class="k">{{ landing_floorplan_row_4_k }}</span><span class="v">{{ landing_floorplan_row_4_v }}</span></div>
1160
- <div class="row"><span class="k">{{ landing_floorplan_row_5_k }}</span><span class="v">{{ landing_floorplan_row_5_v }}</span></div>
1161
- <div class="row"><span class="k">EPC</span><span class="v">{{ epc_rating }}</span></div>
1162
- </div>
1163
- </div>
1164
- </div>
1165
- </section>
1166
-
1167
- <!-- ════════════════ KEY FACTS ════════════════ -->
1168
- <!-- REPLACE Key facts — 15-row three-column grid mirroring the brochure's
1169
- Material Information Part A. Mark unknowns "TBC"; never invent. The
1170
- footnote is fixed boilerplate (DMCCA 2024 + CPR 2008) — keep. The
1171
- keys below match the brochure's mi-rows by intent; substitute the
1172
- values from property.json. -->
1173
- <section class="key-facts" id="facts">
1174
- <h2>Key facts</h2>
1175
- <div class="grid">
1176
- <div class="row"><div class="k">Tenure</div><div class="v">{{ mi_tenure }}</div></div>
1177
- <div class="row"><div class="k">Title</div><div class="v">{{ mi_title_number }}</div></div>
1178
- <div class="row"><div class="k">Council Tax</div><div class="v">{{ mi_council_tax }}</div></div>
1179
- <div class="row"><div class="k">Local Authority</div><div class="v">{{ mi_local_authority }}</div></div>
1180
- <div class="row"><div class="k">Heating</div><div class="v">{{ mi_heating }}</div></div>
1181
- <div class="row"><div class="k">Electricity</div><div class="v">{{ mi_electricity }}</div></div>
1182
- <div class="row"><div class="k">Water</div><div class="v">{{ mi_water }}</div></div>
1183
- <div class="row"><div class="k">Sewerage</div><div class="v">{{ mi_sewerage }}</div></div>
1184
- <div class="row"><div class="k">Broadband</div><div class="v">{{ mi_broadband }}</div></div>
1185
- <div class="row"><div class="k">Mobile</div><div class="v">{{ mi_mobile }}</div></div>
1186
- <div class="row"><div class="k">Flood Risk</div><div class="v">{{ landing_flood_summary }}</div></div>
1187
- <div class="row"><div class="k">Construction</div><div class="v">{{ mi_construction }}</div></div>
1188
- <div class="row"><div class="k">Conservation Area</div><div class="v">{{ mi_conservation }}</div></div>
1189
- <div class="row"><div class="k">Listed Building</div><div class="v">{{ mi_listed }}</div></div>
1190
- <div class="row"><div class="k">UPRN</div><div class="v">{{ mi_uprn }}</div></div>
1191
- <div class="footnote">Material information provided in accordance with the Consumer Protection from Unfair Trading Regulations 2008 and the Digital Markets, Competition and Consumers Act 2024.</div>
1192
- </div>
1193
- </section>
1194
-
1195
- </main>
1196
-
1197
- <!-- ════════════════ CTA STRIP ════════════════ -->
1198
- <!-- REPLACE CTA strip — italic h2 (canonical "Interested? Let's talk." or
1199
- property-specific variant), three CTAs in order: tel:, mailto: enquiry,
1200
- mailto: request-viewing (the rightmost, .solid). Drop the tel: only if
1201
- the agent's number isn't published. -->
1202
- <section class="cta-strip">
1203
- <h2>{{ landing_cta_headline }}</h2>
1204
- <div class="cta-row">
1205
- <a href="tel:{{ office_phone_tel }}">{{ office_phone }}</a>
1206
- <a href="mailto:{{ office_email }}?subject={{ email_subject_enquiry }}">{{ office_email }}</a>
1207
- <a href="mailto:{{ office_email }}?subject={{ email_subject_viewing }}" class="solid">Request viewing</a>
1208
- </div>
1209
- </section>
1210
-
1211
- <!-- ════════════════ FOOTER ════════════════ -->
1212
- <!-- REPLACE Footer — agent block (label, name with first name in <em>,
1213
- agency · branch + address + tel/email), legal disclaimer, colophon.
1214
- Disclaimer is mostly boilerplate; keep the CGI/AI sentence if any
1215
- image in the brochure was AI-staged. -->
1216
- <footer>
1217
- <div class="inner">
1218
- <div class="agent">
1219
- <div class="label">The Agent</div>
1220
- <div class="name"><em>{{ agent_first_name }}</em> {{ agent_surname }}</div>
1221
- {{ brand_name }} · {{ brand_town }}<br>
1222
- {{ office_address_line_1 }}<br>
1223
- {{ office_address_line_2 }}<br>
1224
- {{ office_phone }} · {{ office_email }}
1225
- </div>
1226
- <p class="legal">
1227
- These particulars, whilst believed to be accurate, are set out as a general outline only for guidance and do not constitute any part of an offer or contract. Intending purchasers should not rely on them as statements or representations of fact, but must satisfy themselves by inspection or otherwise as to their accuracy. All measurements are approximate and floor plans are drawn to indicative scale. Some images may include CGI or AI enhancements for illustrative purposes.
1228
- </p>
1229
- <div class="colophon">
1230
- <span>{{ property_name }} · {{ address_line_1 }}, {{ locality }}</span>
1231
- <span>© {{ brand_year }} {{ brand_name }}</span>
1232
- </div>
1233
- </div>
1234
- </footer>
1235
-
1236
- <script>
1237
- // Show sticky sub-nav after scrolling past the hero
1238
- (function() {
1239
- const subnav = document.getElementById('subnav');
1240
- const hero = document.querySelector('.hero');
1241
- function update() {
1242
- const heroBottom = hero.getBoundingClientRect().bottom;
1243
- if (heroBottom < 0) subnav.classList.add('visible');
1244
- else subnav.classList.remove('visible');
1245
- }
1246
- window.addEventListener('scroll', update, { passive: true });
1247
- update();
1248
- })();
1249
-
1250
- // Hamburger / drawer
1251
- (function() {
1252
- const burger = document.querySelector('.burger');
1253
- const drawer = document.getElementById('drawer');
1254
- if (!burger || !drawer) return;
1255
-
1256
- // Inject backdrop sibling (created lazily so the markup stays clean)
1257
- const backdrop = document.createElement('div');
1258
- backdrop.className = 'drawer-backdrop';
1259
- document.body.appendChild(backdrop);
1260
-
1261
- function open() {
1262
- drawer.classList.add('open');
1263
- backdrop.classList.add('open');
1264
- document.body.classList.add('drawer-open');
1265
- burger.setAttribute('aria-expanded', 'true');
1266
- drawer.setAttribute('aria-hidden', 'false');
1267
- }
1268
- function close() {
1269
- drawer.classList.remove('open');
1270
- backdrop.classList.remove('open');
1271
- document.body.classList.remove('drawer-open');
1272
- burger.setAttribute('aria-expanded', 'false');
1273
- drawer.setAttribute('aria-hidden', 'true');
1274
- }
1275
- burger.addEventListener('click', () => {
1276
- drawer.classList.contains('open') ? close() : open();
1277
- });
1278
- backdrop.addEventListener('click', close);
1279
- document.querySelector('.drawer-close').addEventListener('click', close);
1280
- // Close on link click (so clicking a section link also closes the drawer)
1281
- drawer.querySelectorAll('a').forEach(a => a.addEventListener('click', close));
1282
- // Close on Escape
1283
- document.addEventListener('keydown', e => {
1284
- if (e.key === 'Escape' && drawer.classList.contains('open')) close();
1285
- });
1286
- })();
1287
- </script>
1288
-
1289
- </body>
1290
- </html>