diff --git a/home/blocks.py b/home/blocks.py
index dc0c0502097a0294f7aa579825ea20b3b53d03a6..45cb876be9de312e7030e9427a0b275fd2ab3a93 100644
--- a/home/blocks.py
+++ b/home/blocks.py
@@ -5,6 +5,7 @@ from wagtail.blocks import (
     StructBlock,
     TextBlock,
     URLBlock,
+    PageChooserBlock,
 )
 from wagtail.documents.blocks import DocumentChooserBlock
 
@@ -15,7 +16,7 @@ class PersonBlock(StructBlock):
     email = EmailBlock(label="E-mailová adresa", required=False)
 
     class Meta:
-        label = "Člověk"
+        label = "Osoba"
         template = "home/blocks/person_block.html"
         icon = "user"
 
@@ -23,7 +24,7 @@ class PersonBlock(StructBlock):
 class DocumentBlock(StructBlock):
     name = CharBlock(label="Jméno")
     date_added = DateBlock(label="Datum přidání", required=False)
-    url = URLBlock(label="URL (místo dokumentu)", required=False)
+    page = PageChooserBlock(label="Stránka (místo dokumentu)", required=False)
     file = DocumentChooserBlock(label="Dokument", required=False)
 
     class Meta:
@@ -34,7 +35,7 @@ class DocumentBlock(StructBlock):
 
 class EventBlock(StructBlock):
     name = CharBlock(label="Jméno")
-    url = URLBlock(label="URL")
+    page = PageChooserBlock(label="Stránka")
     date = DateBlock(label="Datum konání", required=False)
     location = CharBlock(label="Lokace", required=False)
 
diff --git a/home/models.py b/home/models.py
index 819e73b27c8b564f51c927b7b43cede26126fbf9..e8ccb668e1123b9878b444937191ad30e85b28a8 100644
--- a/home/models.py
+++ b/home/models.py
@@ -1,6 +1,6 @@
 from django.db import models
 from django.utils import timezone
-from wagtail.admin.panels import FieldPanel
+from wagtail.admin.panels import FieldPanel, MultiFieldPanel
 from wagtail.fields import RichTextField, StreamField
 from wagtail.models import Page
 
@@ -36,10 +36,10 @@ class HomePage(Page):
 
     # --- Contact info ---
 
-    address = models.CharField(verbose_name="Sídlo")
-    branch = models.CharField(verbose_name="Pobočka")
-    email = models.EmailField(verbose_name="Email")
-    ds_id = models.CharField(verbose_name="Datová schránka")
+    address = models.CharField(verbose_name="Sídlo", max_length=128)
+    branch = models.CharField(verbose_name="Pobočka", max_length=128)
+    email = models.EmailField(verbose_name="Email", max_length=128)
+    ds_id = models.CharField(verbose_name="Datová schránka", max_length=128)
 
     # --- People ---
 
@@ -84,7 +84,8 @@ class HomePage(Page):
     )
 
     subpage_types = [
-        "home.HomeArticlesPage"
+        "home.HomeArticlesPage",
+        "home.HomeUniversalPage",
     ]
 
     content_panels = Page.content_panels + [
@@ -92,15 +93,25 @@ class HomePage(Page):
         FieldPanel("events", icon="calendar-alt"),
         FieldPanel("documents", icon="doc-full-inverse"),
         FieldPanel("donation_text", icon="pilcrow"),
-        FieldPanel("address", icon="home"),
-        FieldPanel("branch", icon="home"),
-        FieldPanel("email", icon="pilcrow"),
-        FieldPanel("ds_id", icon="mail"),
-        FieldPanel("director", icon="user"),
-        FieldPanel("controller", icon="user"),
-        FieldPanel("council_members", icon="group"),
-        FieldPanel("volunteers", icon="group"),
-        FieldPanel("employees", icon="group"),
+        MultiFieldPanel(
+            [
+                FieldPanel("address", icon="home"),
+                FieldPanel("branch", icon="home"),
+                FieldPanel("email", icon="pilcrow"),
+                FieldPanel("ds_id", icon="mail"),
+            ],
+            heading="Kontaktní údaje"
+        ),
+        MultiFieldPanel(
+            [
+                FieldPanel("director", icon="user"),
+                FieldPanel("controller", icon="user"),
+                FieldPanel("council_members", icon="group"),
+                FieldPanel("volunteers", icon="group"),
+                FieldPanel("employees", icon="group"),
+            ],
+            heading="Lidé"
+        )
     ]
 
     @property
@@ -122,6 +133,9 @@ class HomePage(Page):
             [:3]
         )
 
+    class Meta:
+        verbose_name = "Domovká stránka"
+
 
 class HomeArticlesPage(Page):
     content = RichTextField(verbose_name="Obsah", blank=True, null=True)
@@ -146,14 +160,22 @@ class HomeArticlesPage(Page):
             .all()
         )
 
+    class Meta:
+        verbose_name = "Rozcestník článků"
 
-class HomeArticlePage(Page):
+
+class HomeContentPageMixin(Page):
     tags = models.ManyToManyField(
         "Tag",
         verbose_name="Štítky"
     )
 
-    author = models.CharField(verbose_name="Autor")
+    author = models.CharField(
+        verbose_name="Autor",
+        max_length=128,
+        blank=True,
+        null=True,
+    )
 
     date = models.DateField(
         verbose_name="Datum vytvoření",
@@ -181,12 +203,25 @@ class HomeArticlePage(Page):
 
         return self.perex
 
+    class Meta:
+        abstract = True
+        ordering = ["-date"]
+
+
+class HomeArticlePage(HomeContentPageMixin):
+    class Meta:
+        ordering = ["-date"]
+        verbose_name = "Článek"
+
+
+class HomeUniversalPage(HomeContentPageMixin):
     class Meta:
         ordering = ["-date"]
+        verbose_name = "Univerzální stránka"
 
 
 class Tag(models.Model):
-    name = models.CharField(verbose_name="Jméno")
+    name = models.CharField(verbose_name="Jméno", max_length=32)
 
     class Meta:
         verbose_name = "Štítek"
diff --git a/home/templates/home/blocks/document_block.html b/home/templates/home/blocks/document_block.html
index bd3eb5e70ab7bf802ef0a8b5f984f6bd40b43dc1..07e451d9ffc65164a71a87d7a830e158c8006ee5 100644
--- a/home/templates/home/blocks/document_block.html
+++ b/home/templates/home/blocks/document_block.html
@@ -1,6 +1,6 @@
 <li>
     <a
-        href="{% if self.url %}{{ self.url }}{% else %}{{ self.file.url }}{% endif %}"
+        href="{% if self.page %}{{ self.page }}{% else %}{{ self.file.url }}{% endif %}"
         target="_blank"
     >
         <h3 class="font-serif leading-4">
diff --git a/home/templates/home/blocks/event_block.html b/home/templates/home/blocks/event_block.html
index 660d32504102028adef02b5e933f530cad7e59f9..d5ecbbe4fe10550814a40ac44f660189e1b35425 100644
--- a/home/templates/home/blocks/event_block.html
+++ b/home/templates/home/blocks/event_block.html
@@ -1,4 +1,4 @@
-<a href="{{ self.url }}" target="_blank">
+<a href="{{ self.page }}" target="_blank">
     <li class="flex flex-col">
         {% if self.date or self.location %}
             <small class="text-pii-cyan uppercase">
diff --git a/home/templates/home/home_articles_page.html b/home/templates/home/home_articles_page.html
index 0d0bb6ecf9aac84019a5923268d80c04e292a8c3..d27cc1da37cf69b9e2bc784285466b71df2f270a 100644
--- a/home/templates/home/home_articles_page.html
+++ b/home/templates/home/home_articles_page.html
@@ -4,7 +4,7 @@
 {% block content %}
 <main class="flex flex-col items-center gap-10 pt-14">
     <div class="container">
-        <ul class="flex gap-4 lg:h-96 lg:flex-nowrap flex-wrap">
+        <ul class="flex gap-4 lg:h-96 flex-wrap">
             {% for article in page.articles %}
                 <li class="bg-pii-cyan text-white p-7 lg:w-80">
                     <a