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>
18 lines
1.3 KiB
Plaintext
18 lines
1.3 KiB
Plaintext
<!doctype html>
|
|
<html lang="en">
|
|
{{ head_html|safe }}
|
|
<body class="cm-body" style="margin: 0; min-height: 100vh; display: flex; flex-direction: column; background-color: hsl(var(--background)); color: hsl(var(--foreground));">
|
|
{{ admin_banner_html|safe }}
|
|
{% if slots.header %}<header class="cm-hairline-bottom" style="width: 100%;"><div class="cm-content-well">{{ slots.header|safe }}</div></header>{% endif %}
|
|
<main style="flex: 1 1 auto; width: 100%;" data-content-well>
|
|
<div class="cm-content-well cm-section">
|
|
{% if title %}<div class="cm-accent-rule" style="padding-top: 1.5rem; margin-bottom: 3rem;"><p class="cm-eyebrow">Insights</p><h1 class="cm-heading" style="font-size: clamp(2rem, 4vw, 3rem); line-height: 1.1; margin: 0;">{{ title }}</h1>{% if page_meta.MetaDescription %}<p class="cm-lede" style="max-width: 60ch; margin: 1rem 0 0;">{{ page_meta.MetaDescription }}</p>{% endif %}</div>{% endif %}
|
|
{% if slots.featured %}<section style="margin-bottom: 3rem;">{{ slots.featured|safe }}</section>{% endif %}
|
|
{% if slots.main %}<section>{{ slots.main|safe }}</section>{% else %}<p class="cm-stat-label">No posts published yet.</p>{% endif %}
|
|
</div>
|
|
</main>
|
|
{% if slots.footer %}<footer style="width: 100%; margin-top: auto;">{{ slots.footer|safe }}</footer>{% endif %}
|
|
{{ body_end_html|safe }}
|
|
</body>
|
|
</html>
|