Full Wave A OVERRIDE-CONTRACT delivery for the B2B-consultancy theme (Swiss grid, Bauhaus geometric marks, oversized tabular numerals, hairlines). - 49/49 mandatory builtin overrides + manifest template_overrides entries, authored against the frozen builtin schemas. Fixed legacy button (variant/ href/text -> style/link/label) and card (body/image -> text/media) reads. - 7 page templates: default, full-width, landing, article, blog-index, contact, auth. - Blocks rework: deleted 7 duplicate theme blocks (now builtin overrides); kept case_study_card; added capability_matrix, engagement_process, credential_bar. master_pages.json rewired to builtins. - 5 dual-mode presets (all 19 tokens, tuned dark): navy-classic, forest-quiet, burgundy-tradition, graphite-mono, signal-red. - Bundled fonts (OFL-1.1 latin subsets): Inter + JetBrains Mono, licenses recorded; all font-family via var(--font-*). RECOMMENDED_FONTS/ICONS updated; required_icon_packs = [lucide, simple-icons]. - Complete .cm-* CSS component vocabulary in manifest css.input_css_append; CSS-first motion with prefers-reduced-motion honored. - Themed email-safe wrapper (tables + inline styles). - Demo seed (demo:true): Meridian Advisory home/about/blog+3 posts/contact/ login; contact-form -> contact_submissions data table -> row_inserted email-admins workflow. - Functional auth-form / password-reset-form overrides (real hx-post endpoints). Verified: `make` exit 0 (codeless .bnp packs), check-safety 32 checks OK exit 0. Visual identity UNVERIFIED until Wave B. Known limitation: data providers do not reach declarative overrides in frozen cms (a0f07e2ae) render path — provider- backed overrides authored faithfully, populate once the host wires providers. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2 lines
1.1 KiB
Plaintext
2 lines
1.1 KiB
Plaintext
<section class="cm-section" data-block="corporate-modernist:engagement_process"><div class="cm-content-well">{% if eyebrow %}<p class="cm-eyebrow">{{ eyebrow }}</p>{% endif %}{% if heading %}<h2 class="cm-heading" style="font-size: clamp(1.75rem, 3vw, 2.25rem); margin: 0 0 0.75rem 0;"><span class="cm-heading-h2-accent">{{ heading }}</span></h2>{% endif %}{% if intro %}<p class="cm-lede" style="max-width: 60ch; margin: 0 0 2.5rem 0;">{{ intro }}</p>{% endif %}{% if steps %}<div>{% for step in steps %}<div class="cm-timeline-step"><div class="cm-timeline-rail"><span class="cm-timeline-node">{{ forloop.Counter }}</span>{% if not forloop.Last %}<span class="cm-timeline-line" aria-hidden="true"></span>{% endif %}</div><div style="padding-top: 0.375rem;">{% if step.title %}<h3 class="cm-feature-title" style="margin-top: 0;">{{ step.title }}</h3>{% endif %}{% if step.text %}<p class="cm-text" style="font-size: 0.9375rem; line-height: 1.6; color: hsl(var(--muted-foreground));">{{ step.text }}</p>{% endif %}</div></div>{% endfor %}</div>{% else %}<p class="cm-stat-label">No steps configured.</p>{% endif %}</div></section>
|