diff --git a/DOCS/seed-home-v3.sql b/DOCS/seed-home-v3.sql
new file mode 100644
index 0000000..4d95622
--- /dev/null
+++ b/DOCS/seed-home-v3.sql
@@ -0,0 +1,23 @@
+-- Seed v3 strony `home`: WYŁĄCZNIE elementy dozwolone dialektem CMS
+-- (div/p/span/h1-h6/a/img/ul/ol/li/strong/em/table... — BEZ section/article/figure;
+-- renderer Content::html usuwa niedozwolone elementy WRAZ Z ZAWARTOŚCIĄ).
+UPDATE cms_pages SET
+ title = 'Strona główna',
+ draft_json = '{}',
+ draft_html = '',
+ draft_css = '',
+ draft_seo_title = 'FDMTech — monitoring produkcji | BlackBox Sensory, OEE',
+ draft_seo_description = 'Monitoring produkcji: rzeczywisty odczyt nakładu, czas pracy i przestoje maszyn, OEE i raporty. Urządzenie BlackBox Sensory.',
+ published_html = '
Porządek w pomiarach Twojej produkcji
FDMTech buduje BlackBox Sensory, licznik produkcji przy maszynie. Zlicza sztuki z czujników, zapisuje je z czasem i pokazuje, kiedy maszyna pracuje, a kiedy stoi.
FDMTech Bartosz Pulchny, Krakowska 67/1, 71-017 Szczecin, NIP 852-251-80-36, tel. 533 873 555. Pełny formularz na stronie Kontakt.
',
+ published_css = '.hero-inner{grid-template-columns:1fr;max-width:56rem}',
+ published_title = 'FDMTech — monitoring produkcji',
+ seo_title = 'FDMTech — monitoring produkcji | BlackBox Sensory, OEE',
+ seo_description = 'Monitoring produkcji: rzeczywisty odczyt nakładu, czas pracy i przestoje maszyn, OEE i raporty. Urządzenie BlackBox Sensory.',
+ status = 'published',
+ published_at = UTC_TIMESTAMP(),
+ version = 3,
+ updated_by = 1,
+ updated_at = UTC_TIMESTAMP()
+WHERE slug = 'home';
+INSERT INTO cms_revisions (page_id, version, snapshot_json, created_by, created_at)
+SELECT id, 3, '{}', 1, UTC_TIMESTAMP() FROM cms_pages WHERE slug = 'home';
diff --git a/FRONTEND_CONTRACT.md b/FRONTEND_CONTRACT.md
index 822bdbe..c005896 100644
--- a/FRONTEND_CONTRACT.md
+++ b/FRONTEND_CONTRACT.md
@@ -25,4 +25,4 @@ Formularz aplikacji dostępny pod `/kontakt` (trasa zarezerwowana, zawsze dział
`APP_DEMO=true` w środowisku/.env uruchamia dane demonstracyjne bez łączenia z DB. Domyślnie false. Demo otrzymuje `noindex, nofollow`. Awaria DB w produkcyjnym trybie zawsze zwraca 503. Brak home.php: semantyczna strona demo aplikacji. Brak layout.php: techniczny dokument HTML z globalną nawigacją i stopką z `app/View.php`, bez prac nad stylistyką.
-Zasoby lokalne `/assets/...`. CSP blokuje skrypty publikacji, inline event handlers, zewnętrzne skrypty, iframes i obiekty. Obrazy HTTPS są dopuszczone (media CMS muszą być publicznie dostępne). Nie używać inline style w home; CSS projektanta pozostaje w site.css.
+Zasoby lokalne `/assets/...` (wersjonowane query `?v=N`, bo serwer wysyła długi cache). CSP blokuje skrypty publikacji, inline event handlers, zewnętrzne skrypty, iframes i obiekty. Obrazy HTTPS są dopuszczone (media CMS muszą być publicznie dostępne). Nie używać inline style w home; CSS projektanta pozostaje w site.css. Fonty marki wyłącznie lokalnie w `/assets/fonts/` (latin-ext obowiązkowo); brak ładowania z Google Fonts.
diff --git a/app/View.php b/app/View.php
index 1d8c6e7..478a41f 100644
--- a/app/View.php
+++ b/app/View.php
@@ -54,12 +54,12 @@ final class View
. '' . $e($meta['title']) . ''
. ''
. ($meta['canonical'] !== '' ? '' : '')
- . '' . $cmsStyleTag . ''
+ . '' . $cmsStyleTag . ''
. '' . $e($site['name']) . ''
. $content . '