diff --git a/assets/style.css b/assets/style.css index 1f11b20..3fdcfee 100644 --- a/assets/style.css +++ b/assets/style.css @@ -289,8 +289,15 @@ /* Section spacing. */ .cm-section { - padding-top: 4rem; - padding-bottom: 4rem; + padding-top: 3rem; + padding-bottom: 3rem; +} + +@media (min-width: 768px) { + .cm-section { + padding-top: 3.5rem; + padding-bottom: 3.5rem; + } } /* Image empty-state — when media missing. */ diff --git a/manifest.yaml b/manifest.yaml index b278053..845c6c4 100644 --- a/manifest.yaml +++ b/manifest.yaml @@ -128,8 +128,9 @@ css: .cm-content-well { width: 100%; max-width: 1280px; margin-left: auto; margin-right: auto; padding-left: 1.5rem; padding-right: 1.5rem; box-sizing: border-box; } .cm-measure { max-width: 70ch; } .cm-swiss-12 { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 1.5rem; row-gap: 1.5rem; } - .cm-section { padding-top: 4rem; padding-bottom: 4rem; } - .cm-section-tight { padding-top: 2.5rem; padding-bottom: 2.5rem; } + .cm-section { padding-top: 3rem; padding-bottom: 3rem; } + @media (min-width: 768px) { .cm-section { padding-top: 3.5rem; padding-bottom: 3.5rem; } } + .cm-section-tight { padding-top: 2rem; padding-bottom: 2rem; } .cm-hairline { border: 1px solid hsl(var(--border)); } .cm-hairline-top { border-top: 1px solid hsl(var(--border)); } .cm-hairline-bottom { border-bottom: 1px solid hsl(var(--border)); } @@ -205,7 +206,7 @@ css: @media (min-width: 768px) { .cm-nav-links { display: flex; } } .cm-nav-link { font-family: var(--font-body, "Inter", system-ui, sans-serif); font-size: 0.9375rem; color: hsl(var(--foreground)); text-decoration: none; padding-bottom: 2px; border-bottom: 2px solid transparent; transition: border-color 150ms ease; } .cm-nav-link:hover { border-bottom-color: hsl(var(--accent)); } - .cm-nav-toggle { display: inline-flex; } + .cm-nav-toggle { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; } @media (min-width: 768px) { .cm-nav-toggle { display: none; } } .cm-nav-drawer { display: none; flex-direction: column; gap: 0.25rem; padding: 0.5rem 0 1rem; border-top: 1px solid hsl(var(--border)); width: 100%; } @media (min-width: 768px) { .cm-nav-drawer { display: none !important; } } @@ -315,7 +316,8 @@ css: /* --- Forms --- */ .cm-form { display: grid; gap: 1.25rem; } - .cm-form-grid { display: grid; gap: 1.25rem; grid-template-columns: repeat(2, minmax(0, 1fr)); } + .cm-form-grid { display: grid; gap: 1.25rem; grid-template-columns: repeat(1, minmax(0, 1fr)); } + @media (min-width: 640px) { .cm-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } } .cm-field { display: flex; flex-direction: column; gap: 0.375rem; } .cm-field--full { grid-column: 1 / -1; } .cm-label { font-family: var(--font-heading, "Inter", system-ui, sans-serif); font-size: 0.8125rem; font-weight: 600; color: hsl(var(--foreground)); text-transform: uppercase; letter-spacing: 0.04em; } diff --git a/seed/seed.json b/seed/seed.json index ae8e4c6..d8307cf 100644 --- a/seed/seed.json +++ b/seed/seed.json @@ -27,7 +27,7 @@ "template_key": "full-width", "reconcile_blocks": true, "blocks": [ - { "block_key": "hero", "title": "Hero", "slot": "main", "sort_order": 1, "content": { "template": "left-aligned", "eyebrow": "B2B advisory", "headline": "Precise counsel for boards that move first", "subheadline": "We do strategy, operations, and risk work on a fixed scope. No retainers you cannot read.", "ctaPrimary": { "text": "Book a working session", "url": "/contact" }, "ctaSecondary": { "text": "See how we work", "url": "/about" } } }, + { "block_key": "hero", "title": "Hero", "slot": "main", "sort_order": 1, "content": { "template": "left-aligned", "eyebrow": { "text": "B2B advisory" }, "headline": { "text": "Precise counsel for boards that move first" }, "subheadline": { "text": "We do strategy, operations, and risk work on a fixed scope. No retainers you cannot read." }, "ctaPrimary": { "text": "Book a working session", "url": "/contact" }, "ctaSecondary": { "text": "See how we work", "url": "/about" } } }, { "block_key": "corporate-modernist:credential_bar", "title": "Credentials", "slot": "main", "sort_order": 2, "content": { "items": [ { "figure": "18", "label": "Years in practice" }, { "figure": "6", "label": "Sectors served" }, { "figure": "40+", "label": "Board engagements" }, { "figure": "3", "label": "Continents" } ] } }, { "block_key": "corporate-modernist:capability_matrix", "title": "Capabilities", "slot": "main", "sort_order": 3, "content": { "eyebrow": "What we do", "heading": "Three disciplines, one team", "intro": "Every engagement draws on the same three capabilities. We assign a principal to each.", "columns": 3, "capabilities": [ { "mark": "circle", "title": "Strategy", "text": "Market entry, portfolio choices, and the operating model that carries them." }, { "mark": "triangle", "title": "Operations", "text": "Cost structure, process design, and the metrics a board can hold." }, { "mark": "square", "title": "Risk", "text": "Controls, resilience, and the reporting that keeps regulators satisfied." } ] } }, { "block_key": "stats", "title": "Outcomes", "slot": "main", "sort_order": 4, "content": { "heading": "Outcomes we measure", "columns": 3, "countUp": false, "items": [ { "value": "3.2", "suffix": "x", "label": "Median return on engagement" }, { "value": "90", "suffix": " days", "label": "Time to first decision" }, { "value": "12", "label": "Week average engagement" } ] } }, diff --git a/templates/overrides/corporate-modernist/contact-form.ninjatpl b/templates/overrides/corporate-modernist/contact-form.ninjatpl index 0761d40..7b330fd 100644 --- a/templates/overrides/corporate-modernist/contact-form.ninjatpl +++ b/templates/overrides/corporate-modernist/contact-form.ninjatpl @@ -30,5 +30,5 @@ {% endwith %} {% endif %} - + {% endwith %} diff --git a/templates/overrides/corporate-modernist/hero.ninjatpl b/templates/overrides/corporate-modernist/hero.ninjatpl index c7f7bed..5ca5d8e 100644 --- a/templates/overrides/corporate-modernist/hero.ninjatpl +++ b/templates/overrides/corporate-modernist/hero.ninjatpl @@ -17,8 +17,8 @@ {% if pText or sText %}
Trusted by