diff --git a/package-lock.json b/package-lock.json
index 858ae34..59b3a9d 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -18,6 +18,7 @@
         "@fontsource/borel": "^5.1.1",
         "astro": "^5.1.6",
         "astro-icon": "^1.1.4",
+        "dayjs": "^1.11.13",
         "rehype-external-links": "^3.0.0",
         "tailwindcss": "^3.4.15",
         "typescript": "^5.7.2"
@@ -2977,6 +2978,12 @@
       "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==",
       "license": "CC0-1.0"
     },
+    "node_modules/dayjs": {
+      "version": "1.11.13",
+      "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz",
+      "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==",
+      "license": "MIT"
+    },
     "node_modules/debug": {
       "version": "4.4.0",
       "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
diff --git a/package.json b/package.json
index a8ecb46..1ac255b 100644
--- a/package.json
+++ b/package.json
@@ -21,6 +21,7 @@
     "@fontsource/borel": "^5.1.1",
     "astro": "^5.1.6",
     "astro-icon": "^1.1.4",
+    "dayjs": "^1.11.13",
     "rehype-external-links": "^3.0.0",
     "tailwindcss": "^3.4.15",
     "typescript": "^5.7.2"
diff --git a/src/components/Head.astro b/src/components/Head.astro
index 453ade7..34878fa 100644
--- a/src/components/Head.astro
+++ b/src/components/Head.astro
@@ -1,6 +1,7 @@
 ---
 import { SITE } from "@consts";
 import gradient from "../../public/assets/gradient.avif";
+import { ClientRouter } from 'astro:transitions';
 
 interface Props {
   title: string;
@@ -92,11 +93,7 @@ import redhatmono from "@fontsource-variable/red-hat-mono/files/red-hat-mono-lat
   <meta property="twitter:image" content={new URL(image, Astro.url)} />
 
   <!-- View Transitions -->
-  <style>
-    @view-transition {
-      navigation: auto;
-    }
-  </style>
+  <ClientRouter />
 
   <!-- Font Preload -->
   <link
diff --git a/src/content/config.ts b/src/content/config.ts
index 97280a0..f5e6579 100644
--- a/src/content/config.ts
+++ b/src/content/config.ts
@@ -1,4 +1,5 @@
 import { defineCollection, z } from "astro:content";
+import { rssSchema } from '@astrojs/rss';
 
 const posts = defineCollection({
   type: "content",
@@ -16,7 +17,7 @@ const posts = defineCollection({
       tags: z.array(z.string()),
       extraAuthors: z.array(z.string()).optional(),
       categories: z.array(z.string()),
-    }),
+    }).merge(rssSchema)
 });
 
 const projects = defineCollection({
@@ -38,7 +39,7 @@ const projects = defineCollection({
       featured: z.boolean().optional(),
       collection: z.boolean().optional(),
       includeHero: z.boolean().optional(),
-    }),
+    }).merge(rssSchema)
 });
 
 const work = defineCollection({
diff --git a/src/content/projects/packard/demo.gif b/src/content/projects/packard/demo.gif
index ea0498a..f823c63 100644
Binary files a/src/content/projects/packard/demo.gif and b/src/content/projects/packard/demo.gif differ
diff --git a/src/layouts/Layout.astro b/src/layouts/Layout.astro
index e761dcc..f1b9972 100644
--- a/src/layouts/Layout.astro
+++ b/src/layouts/Layout.astro
@@ -26,13 +26,13 @@ const { title, description, image, date, updated, tags } = Astro.props;
     updated={updated}
     tags={tags}
   />
-  <body class="bg-primary text-secondary">
-    <div class="flex min-h-screen flex-col justify-start p-8 pt-0 md:pt-8">
-      <Header />
-      <main class="mx-auto w-full max-w-prose space-y-6">
-        <slot />
-      </main>
-      <Footer />
-    </div>
+  <body
+    class="flex min-h-screen flex-col justify-start bg-primary p-8 pt-0 text-secondary md:pt-8"
+  >
+    <Header />
+    <main class="mx-auto w-full max-w-prose space-y-6">
+      <slot />
+    </main>
+    <Footer />
   </body>
 </html>
diff --git a/src/styles/global.css b/src/styles/global.css
index f915d20..c3b3c96 100644
--- a/src/styles/global.css
+++ b/src/styles/global.css
@@ -25,14 +25,22 @@
 
 @layer components {
   .prose img {
-    @apply transition-transform hover:scale-[98%] active:scale-[200%];
+    @apply cursor-pointer transition-transform hover:scale-[98%] active:scale-[200%];
   }
 }
 
 @media print {
   body {
-    margin: 0;
-    color: #000;
-    background-color: #fff;
+    background: none;
+    color: black;
+  }
+  header,
+  footer,
+  main {
+    max-width: unset !important;
+  }
+  header,
+  footer {
+    display: none;
   }
 }