Skip to content

Error Page

Full-page error display with musical illustrations, status code, title, description, and actions. Uses Grundtone's musical identity — each error type has a unique staff-line illustration with a thematic metaphor.

When to use

  • 404 Not Found — broken links, deleted pages
  • 403 Forbidden — unauthorized access
  • 500 Internal Server Error — server failures
  • 503 Service Unavailable — maintenance, downtime
  • Any HTTP error that needs a user-facing page

Design rationale

"Grundtone" means fundamental tone — the musical foundation. Error pages use musical metaphors to stay on-brand while communicating clearly:

CodeMetaphorTitle
404Missing note on staff"Denne side spiller ikke"
403Locked practice room"Øverummet er lukket"
500Broken strings / dissonance"Noget gik galt i orkestret"
503Pause in the score"Vi stemmer instrumenterne"

CSS classes

ClassDescription
.error-pageRoot container — centered flex, min-height 60vh
.error-page__illustrationSVG wrapper with breathing animation
.error-page__codeLarge status code — monospace, responsive size
.error-page__titleError heading
.error-page__descriptionExplanatory text — tertiary color, max-width
.error-page__actionsButton group
.error-page__debugDev-only debug output — monospace, surface-alt bg

404 — Not Found

500 — Server Error


Accessibility

  • Illustration SVG has role="img" and aria-label
  • Title uses <h1> for document heading
  • Animation respects prefers-reduced-motion
  • Home link is a native <a> for keyboard and screen reader access
  • Debug section uses monospace font and semantic structure