/* legal, docs, faq, changelog and status */
body.page-legal main.wrap, body.page-docs main, body.page-faq main.wrap,
body.page-status main.wrap, body.page-changelog main.wrap {
  width: min(var(--p2-reading), calc(100% - 2 * var(--p2-gutter))) !important;
}
.legal-hero, body.page-faq .hero, body.page-status .hero {
  padding: clamp(62px, 8vw, 96px) 0 32px !important;
}
.legal-hero h1, body.page-faq .hero h1, body.page-status h1, body.page-changelog h1 {
  margin: 14px 0 !important;
  font-size: clamp(2.7rem, 7vw, 5.5rem) !important;
  line-height: .95 !important;
  letter-spacing: -.065em !important;
  overflow-wrap: anywhere;
}
.legal-card {
  padding: clamp(24px, 5vw, 48px) !important;
  border-inline: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}
.legal-card h2 { margin: 38px 0 10px !important; font-size: 20px !important; }
.legal-card p, .legal-card li { color: var(--p2-copy) !important; line-height: 1.75 !important; }
body.page-faq .list, body.page-changelog .list { display: grid; gap: 0 !important; }
body.page-faq .item, body.page-changelog .item {
  margin: 0 !important;
  padding: 24px 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--p2-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
}
body.page-faq .item h2, body.page-changelog .item h2 { margin: 0 0 7px !important; font-size: 17px !important; }
body.page-faq .item p, body.page-changelog .item p { color: var(--p2-copy) !important; font-weight: 400 !important; }
body.page-status .card, body.page-status .summary, body.page-status .component {
  padding: 22px !important;
  margin: 10px 0 !important;
}
body.page-status .grid { gap: 8px !important; }
body.page-status .item {
  padding: 17px !important;
  border: 1px solid var(--p2-line) !important;
  border-radius: var(--p2-radius) !important;
  background: var(--p2-page-soft) !important;
}
.site-mini-footer, .footer, body > footer {
  margin-top: 72px !important;
  padding: 34px 0 !important;
  border-top: 1px solid var(--p2-line) !important;
  background: var(--p2-page) !important;
  color: var(--p2-muted) !important;
  box-shadow: none !important;
}
.site-mini-footer-inner { align-items: flex-start !important; gap: 28px !important; }
.site-mini-footer-links { display: flex !important; flex-wrap: wrap !important; gap: 9px 18px !important; }
.site-mini-footer a, .footer a { color: var(--p2-copy) !important; text-decoration: none !important; }
.site-mini-footer a:hover, .footer a:hover { color: var(--p2-text) !important; }

/* errors */
body.page-error {
  display: grid !important;
  place-items: center !important;
  min-height: 100dvh;
  padding: 20px !important;
}
body.page-error > main {
  width: min(720px, 100%) !important;
  overflow: hidden;
  border: 1px solid var(--p2-line-strong) !important;
  border-radius: var(--p2-radius-lg) !important;
  background: var(--p2-surface-1) !important;
  box-shadow: var(--p2-shadow-float) !important;
}
body.page-error > main > header {
  min-height: 58px;
  padding: 12px 18px !important;
  border-bottom: 1px solid var(--p2-line) !important;
  background: var(--p2-page-soft) !important;
}
body.page-error > main > section { padding: clamp(28px, 7vw, 58px) !important; }
body.page-error .code {
  color: var(--p2-faint) !important;
  font: 500 clamp(4.5rem, 18vw, 9rem)/.8 "Geist Mono", monospace !important;
  letter-spacing: -.09em !important;
}
body.page-error .actions a {
  min-height: 39px !important;
  padding: 0 14px !important;
  border: 1px solid var(--p2-line-default) !important;
  border-radius: var(--p2-radius) !important;
  background: var(--p2-text) !important;
  color: var(--p2-page) !important;
  box-shadow: none !important;
}
body.page-error .actions a + a { background: var(--p2-surface-2) !important; color: var(--p2-text) !important; }
body.page-error > main > footer { margin: 0 !important; padding: 14px 18px !important; }

