/*
 * Site-wide fixes, loaded LAST by BaseLayout so they win over the theme.
 *
 * Every rule names the HubSpot artifact it corrects. The pages themselves are
 * generated from the export (scripts/extract-pages.py), so a visual fix that
 * belongs to the whole site goes here rather than into generated markup.
 */

/*
 * 404 page (src/pages/404.astro). Hand-written — live's 404 is HubSpot's
 * unthemed system template, so there is no exported markup to carry its
 * layout. Live's wording, centred in the theme's own content width.
 */
.error-404 {
  max-width: 640px;
  margin: 0 auto;
  padding: 6rem 1.5rem;
  text-align: center;
}

.error-404__code {
  font-size: 5rem;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 1rem;
}

/* SEO pass (2026-11-08): each page's main heading was an <h2> and neither page
   had an <h1>. scripts/extract-pages.py promotes it to <h1 class="as-h2">;
   this restores the theme's h2 styling (template_theme-overrides.css) so
   nothing moves. */
h1.as-h2 {
  font-weight: 400;
  color: #fafafa;
  font-size: 54px;
}
@media (max-width: 767px) {
  h1.as-h2 { font-size: 38px; }
}
