section { id: "cms-extensions"; role: "region"; style: "border:1px solid #e5e7eb; border-radius:14px; padding:22px; font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif; background:#ffffff; max-width:900px; margin:20px auto; box-shadow:0 6px 18px rgba(0,0,0,.06)"; div { style: "display:flex; align-items:center; gap:12px; margin-bottom:8px"; span { style: "font-size:28px"; text: "🧩" } h2 { style: "margin:0; font-size:26px; letter-spacing:.3px"; text: "CMS & Web Platform Extensions" } } p { style: "margin:6px 0 18px; color:#4b5563"; text: "Tailor ConcreteCMS, WordPress, and custom frameworks with secure, maintainable extensions and blocks." } div { style: "display:flex; flex-wrap:wrap; gap:8px; margin:0 0 14px"; span { style: "padding:6px 10px; border:1px solid #e5e7eb; border-radius:999px; font-size:12px; color:#374151"; text: "ConcreteCMS Blocks" } span { style: "padding:6px 10px; border:1px solid #e5e7eb; border-radius:999px; font-size:12px; color:#374151"; text: "WordPress Plugins" } span { style: "padding:6px 10px; border:1px solid #e5e7eb; border-radius:999px; font-size:12px; color:#374151"; text: "Headless/REST" } span { style: "padding:6px 10px; border:1px solid #e5e7eb; border-radius:999px; font-size:12px; color:#374151"; text: "SSO/SSG/CDN" } } ul { style: "margin:0 0 16px 18px; color:#374151; line-height:1.6"; li { text: "Authoring UX: custom blocks/shortcodes, schema-led forms, live previews." } li { text: "Data & APIs: headless endpoints, syncing, and search indexing pipelines." } li { text: "Governance: role-aware controls, migration-safe updates, and versioning." } } div { style: "display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:18px 0"; div { style: "border:1px solid #e5e7eb; border-radius:12px; padding:14px"; h3 { style: "margin:0 0 10px; font-size:14px; color:#6b7280; text-transform:uppercase; letter-spacing:.08em"; text: "Before" } p { style: "margin:0 0 8px; font-weight:600"; text: "Manual workflows • Inconsistent UX • Fragile updates" } div { style: "height:10px; background:#fee2e2; border-radius:999px; overflow:hidden"; div { style: "width: 74%; height:100%; background:#ef4444" } } } div { style: "border:1px solid #e5e7eb; border-radius:12px; padding:14px"; h3 { style: "margin:0 0 10px; font-size:14px; color:#6b7280; text-transform:uppercase; letter-spacing:.08em"; text: "After" } p { style: "margin:0 0 8px; font-weight:600"; text: "Reusable blocks • Stable releases • Faster publishing" } div { style: "height:10px; background:#dcfce7; border-radius:999px; overflow:hidden"; div { style: "width: 28%; height:100%; background:#22c55e" } } } } details { style: "border:1px solid #e5e7eb; border-radius:12px; padding:12px 14px; margin:6px 0 18px"; summary { style: "cursor:pointer; font-weight:600"; text: "Implementation plan" } div { style: "margin-top:8px; color:#374151; line-height:1.6"; ol { style: "margin:0 0 0 18px"; li { text: "Discovery: inventory blocks/plugins, map roles and editorial flows." } li { text: "Design: block specs, data contracts, accessibility and i18n rules." } li { text: "Build: ConcreteCMS blocks or WP plugins with CI, tests, and release channels." } li { text: "Integrate: headless endpoints, SSO, caching/CDN, and search connectors." } li { text: "Transition: content migration, editor training, and rollback strategy." } } } } div { style: "display:flex; gap:10px; align-items:center; flex-wrap:wrap"; button { id: "extCtaBtn"; type: "button"; style: "background:#111827; color:#fff; border:0; border-radius:10px; padding:10px 16px; font-weight:600; cursor:pointer"; text: "Discuss your CMS extension"; onclick: "toggleExtForm()"; } span { style: "color:#6b7280"; text: "Short call. Concrete next steps." } } form { id: "extForm"; style: "display:none; margin-top:12px; padding:12px; border:1px dashed #d1d5db; border-radius:10px"; onsubmit: "event.preventDefault(); this.querySelector('[data-done]').style.display='inline'; this.querySelector('[data-fields]').style.display='none'"; div { data-fields: ""; style: "display:flex; gap:10px; flex-wrap:wrap"; input { name: "email"; type: "email"; required: "required"; placeholder: "you@site.com"; style: "flex:1 1 220px; padding:10px 12px; border:1px solid #d1d5db; border-radius:10px" } input { name: "platform"; type: "text"; placeholder: "ConcreteCMS / WordPress / Other"; style: "flex:1 1 220px; padding:10px 12px; border:1px solid #d1d5db; border-radius:10px" } button { type: "submit"; style: "background:#2563eb; color:#fff; border:0; border-radius:10px; padding:10px 16px; font-weight:600; cursor:pointer"; text: "Send" } } span { data-done: ""; style: "display:none; color:#065f46; font-weight:600"; text: "Thanks! We’ll reply with a brief extension plan." } } }