diff --git a/blocks/marginalia.ninjatpl b/blocks/marginalia.ninjatpl
index f00b58c..53ef5f2 100644
--- a/blocks/marginalia.ninjatpl
+++ b/blocks/marginalia.ninjatpl
@@ -1 +1 @@
-
{% if items %}{% for note in items %}
{% if note.anchor %}{{ note.anchor }} {% endif %}{% if note.note %}{{ note.note|safe }}{% endif %} {% endfor %}{% else %}
{% endif %}
+{% if items %}{% for note in items %}
{% if note.anchor %}{{ note.anchor }} {% endif %}{% if note.note %}{{ note.note|safe }} {% endif %} {% endfor %}{% else %}
{% endif %}
diff --git a/manifest.yaml b/manifest.yaml
index 3f226d5..d2a81c4 100644
--- a/manifest.yaml
+++ b/manifest.yaml
@@ -384,6 +384,24 @@ css:
opacity: 0;
animation: editorial-fade-in 600ms ease forwards;
}
+ /* Anchor label: block-level so it never runs into the note body, and
+ * foreground ink so it reads as a deliberate annotation heading. */
+ .editorial-marginalia-label {
+ display: block;
+ margin-bottom: 0.4rem;
+ font-family: var(--font-body, "Inter", -apple-system, sans-serif);
+ font-style: normal;
+ font-weight: 600;
+ font-size: 0.68rem;
+ text-transform: uppercase;
+ letter-spacing: 0.12em;
+ color: hsl(var(--foreground));
+ }
+ /* Note body: bump above muted-foreground for legibility in both modes. */
+ .editorial-marginalia-note {
+ display: block;
+ color: hsl(var(--foreground) / 0.82);
+ }
@keyframes editorial-fade-in { to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
.editorial-marginalia aside { animation: none; opacity: 1; }
diff --git a/templates/editorial/article.ninjatpl b/templates/editorial/article.ninjatpl
index 38c5bf4..99d214d 100644
--- a/templates/editorial/article.ninjatpl
+++ b/templates/editorial/article.ninjatpl
@@ -5,7 +5,8 @@
{{ admin_banner_html|safe }}
{% if slots.header %}{% endif %}
- {% if slots.byline %}{{ slots.byline|safe }}
{% endif %}
+ {% if title %}
{{ title }} {% endif %}
+ {% if slots.byline %}{{ slots.byline|safe }}
{% endif %}
{% if slots.main %}{{ slots.main|safe }}{% else %}This essay has no content yet.
{% endif %}
{{ slots.marginalia|safe }}
diff --git a/templates/editorial/landing.ninjatpl b/templates/editorial/landing.ninjatpl
index d6a3223..fc89c12 100644
--- a/templates/editorial/landing.ninjatpl
+++ b/templates/editorial/landing.ninjatpl
@@ -5,7 +5,7 @@
{{ admin_banner_html|safe }}
{% if slots.masthead %}
{{ slots.masthead|safe }} {% endif %}
- {% if slots.lead %}{% endif %}
+ {% if slots.lead %}{% endif %}
{% if slots.river %}{% endif %}
{% if slots.footer %}
{% endif %}
diff --git a/templates/overrides/editorial/author-bio-hero.ninjatpl b/templates/overrides/editorial/author-bio-hero.ninjatpl
index b4fc060..78839c5 100644
--- a/templates/overrides/editorial/author-bio-hero.ninjatpl
+++ b/templates/overrides/editorial/author-bio-hero.ninjatpl
@@ -12,10 +12,10 @@
{% if author.location %}
{{ author.location }} {% endif %}
{% if showSocial %}
-{% if author.website_url %}
{% endif %}
-{% if author.twitter_handle %}
{% endif %}
-{% if author.linkedin_url %}
{% endif %}
-{% if author.github_url %}
{% endif %}
+{% if author.website_url %}
{% endif %}
+{% if author.twitter_handle %}
{% endif %}
+{% if author.linkedin_url %}
{% endif %}
+{% if author.github_url %}
{% endif %}
{% endif %}
diff --git a/templates/overrides/editorial/contact-card.ninjatpl b/templates/overrides/editorial/contact-card.ninjatpl
index b70de05..b28586d 100644
--- a/templates/overrides/editorial/contact-card.ninjatpl
+++ b/templates/overrides/editorial/contact-card.ninjatpl
@@ -5,7 +5,7 @@
{% for channel in channels %}
- {% if channel.icon %}
{% endif %}
+ {% if channel.icon %}
{% endif %}
{% if channel.label %}
{{ channel.label }}
{% endif %}
{% if channel.value %}
{% if channel.link %}
{{ channel.value }} {% else %}{{ channel.value }}{% endif %}
{% endif %}
diff --git a/templates/overrides/editorial/countdown.ninjatpl b/templates/overrides/editorial/countdown.ninjatpl
index 8d1f7e7..99c2bc9 100644
--- a/templates/overrides/editorial/countdown.ninjatpl
+++ b/templates/overrides/editorial/countdown.ninjatpl
@@ -11,7 +11,7 @@
{{ expiredMessage|default:"This has started." }}
- {% if expiredUrl and expiredLabel %}
{{ expiredLabel }} {% endif %}
+ {% if expiredUrl and expiredLabel %}
{{ expiredLabel }} {% endif %}
Counting down to {{ target }} .
diff --git a/templates/overrides/editorial/cta.ninjatpl b/templates/overrides/editorial/cta.ninjatpl
index 12822f9..ead5ea9 100644
--- a/templates/overrides/editorial/cta.ninjatpl
+++ b/templates/overrides/editorial/cta.ninjatpl
@@ -6,7 +6,7 @@
{% if text %}
{{ text }}
{% endif %}
diff --git a/templates/overrides/editorial/event-list.ninjatpl b/templates/overrides/editorial/event-list.ninjatpl
index e5a6eec..bec0847 100644
--- a/templates/overrides/editorial/event-list.ninjatpl
+++ b/templates/overrides/editorial/event-list.ninjatpl
@@ -13,7 +13,7 @@
{{ event.title }}
{% if event.venue %}{{ event.venue }}
{% endif %}
{% if event.description %}{{ event.description }}
{% endif %}
- {% if event.link %}{{ event.linkLabel|default:"Details" }} {% endif %}
+ {% if event.link %}{{ event.linkLabel|default:"Details" }} {% endif %}
{% endif %}{% endfor %}
diff --git a/templates/overrides/editorial/faq.ninjatpl b/templates/overrides/editorial/faq.ninjatpl
index 4bdd166..08da093 100644
--- a/templates/overrides/editorial/faq.ninjatpl
+++ b/templates/overrides/editorial/faq.ninjatpl
@@ -7,7 +7,7 @@
{{ item.question }}
-
+
{{ item.answer|safe }}
diff --git a/templates/overrides/editorial/feature-grid.ninjatpl b/templates/overrides/editorial/feature-grid.ninjatpl
index 19d6ae2..757ab1e 100644
--- a/templates/overrides/editorial/feature-grid.ninjatpl
+++ b/templates/overrides/editorial/feature-grid.ninjatpl
@@ -6,10 +6,10 @@
{% for item in items %}
- {% if item.icon %}
{% endif %}
+ {% if item.icon %}
{% endif %}
{% if item.linkUrl %}{{ item.title }} {% else %}{{ item.title }}{% endif %}
{% if item.text %}
{{ item.text }}
{% endif %}
- {% if item.linkUrl and item.linkLabel %}
{{ item.linkLabel }} {% endif %}
+ {% if item.linkUrl and item.linkLabel %}
{{ item.linkLabel }} {% endif %}
{% endfor %}
diff --git a/templates/overrides/editorial/pricing.ninjatpl b/templates/overrides/editorial/pricing.ninjatpl
index d7bc788..4d404a0 100644
--- a/templates/overrides/editorial/pricing.ninjatpl
+++ b/templates/overrides/editorial/pricing.ninjatpl
@@ -14,7 +14,7 @@
{% if tier.description %}{{ tier.description }}
{% endif %}
{% if tier.features %}
- {% for feature in tier.features %}{{ feature }} {% endfor %}
+ {% for feature in tier.features %}{{ feature }} {% endfor %}
{% endif %}
{% if tier.ctaUrl and tier.ctaLabel %}{% if tier.highlighted %}{{ tier.ctaLabel }} {% else %}{{ tier.ctaLabel }} {% endif %}{% endif %}
diff --git a/templates/overrides/editorial/rich-section.ninjatpl b/templates/overrides/editorial/rich-section.ninjatpl
index 77f56aa..1be3e52 100644
--- a/templates/overrides/editorial/rich-section.ninjatpl
+++ b/templates/overrides/editorial/rich-section.ninjatpl
@@ -4,7 +4,7 @@
{% if eyebrow %}{% endif %}
{% if heading %}{{ heading }} {% endif %}
{% if body %}{{ body|safe }}
{% endif %}
- {% if ctaUrl and ctaLabel %}{{ ctaLabel }} {% endif %}
+ {% if ctaUrl and ctaLabel %}{{ ctaLabel }} {% endif %}
diff --git a/templates/overrides/editorial/testimonial.ninjatpl b/templates/overrides/editorial/testimonial.ninjatpl
index fbc6829..5d573ff 100644
--- a/templates/overrides/editorial/testimonial.ninjatpl
+++ b/templates/overrides/editorial/testimonial.ninjatpl
@@ -5,11 +5,11 @@
{% for q in quotes %}
{% if q.rating %}
-
-
-
-
-
+
+
+
+
+
{% endif %}
{% if q.quote %}“{{ q.quote }}”{% endif %}
diff --git a/templates/overrides/editorial/timeline.ninjatpl b/templates/overrides/editorial/timeline.ninjatpl
index 6d05a05..bf01faf 100644
--- a/templates/overrides/editorial/timeline.ninjatpl
+++ b/templates/overrides/editorial/timeline.ninjatpl
@@ -6,7 +6,7 @@
{% for step in steps %}
- {% if marker == "numbered" %}{{ forloop.counter }}{% elif marker == "dot" %} {% else %} {% endif %}
+ {% if marker == "numbered" %}{{ forloop.counter }}{% elif marker == "dot" %} {% else %} {% endif %}
{% if step.label %}
{{ step.label }}
{% endif %}