diff --git a/source/404.html.haml b/source/404.html.haml
index b452be784..3952fdf2e 100644
--- a/source/404.html.haml
+++ b/source/404.html.haml
@@ -2,12 +2,18 @@
title: "Not found :("
---
-%p Sorry, but the page you were trying to view does not exist.
+- content_for :css do
+ = stylesheet_link_tag "404"
+
+- content_for :introduction do
+ Sorry, but the page you were trying to view does not exist.
+
%p It looks like this was the result of either:
%ul
%li a mistyped address
%li an out-of-date link
-:javascript
- var GOOG_FIXURL_LANG = (navigator.language || '').slice(0,2),GOOG_FIXURL_SITE = location.host;
-%script(src="//linkhelp.clients.google.com/tbproxy/lh/wm/fixurl.js")
+- content_for :complementary do
+ :javascript
+ var GOOG_FIXURL_LANG = (navigator.language || '').slice(0,2),GOOG_FIXURL_SITE = location.host;
+ %script(src="//linkhelp.clients.google.com/tbproxy/lh/wm/fixurl.js")
diff --git a/source/assets/css/404.css.scss b/source/assets/css/404.css.scss
new file mode 100644
index 000000000..74e5300a5
--- /dev/null
+++ b/source/assets/css/404.css.scss
@@ -0,0 +1,21 @@
+@import "compass";
+@import "breakpoint";
+
+@import "dependencies/layout";
+@import "dependencies/color";
+
+@import "foundation/forms";
+
+@import "components/forms";
+@import "components/buttons";
+
+#goog-fixurl .content {
+ margin: 0;
+ padding: 0;
+}
+
+#goog-wm-sb {
+ @extend .button;
+ @extend .primary;
+ @include leader;
+}
diff --git a/source/layouts/head/_css.haml b/source/layouts/head/_css.haml
index fc923b7f1..e867a3876 100644
--- a/source/layouts/head/_css.haml
+++ b/source/layouts/head/_css.haml
@@ -1 +1,3 @@
= stylesheet_link_tag "sass"
+- if content_for?(:css)
+ = yield_content :css