/* Generic page shell (pages/generic_page.html), used by the legal pages and the
   service pages. Ported from the legal layout (apps/web-publica/src/layouts/
   LegalLayout.astro) with its `:global(...)` selectors rewritten as descendants
   of `.page-body`. */
.page-content {
  padding: clamp(7rem, 14vw, 10rem) 0 clamp(4rem, 8vw, 6rem);
}
.page-header {
  max-width: 760px;
  margin: 0 auto 3rem;
}
.page-header h1 {
  font-size: clamp(2rem, 4vw, 3rem);
}
.page-body {
  max-width: 760px;
  margin: 0 auto;
  font-size: 1rem;
  line-height: 1.75;
}
.page-body h2 {
  margin-top: 2.5rem;
  margin-bottom: 1rem;
  font-size: 1.5rem;
}
.page-body h3 {
  margin-top: 2rem;
  margin-bottom: 0.75rem;
  font-size: 1.15rem;
}
.page-body p,
.page-body ul,
.page-body ol {
  margin-bottom: 1.25rem;
  color: var(--text-2);
}
.page-body ul,
.page-body ol {
  padding-left: 1.5rem;
}
.page-body ul { list-style: disc; }
.page-body ol { list-style: decimal; }
.page-body li { margin-bottom: 0.4rem; }
.page-body strong { color: var(--text-1); }
.page-body a {
  color: var(--accent);
  text-decoration: underline;
}
.page-body table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 1.5rem;
}
.page-body th,
.page-body td {
  padding: 0.6rem 0.8rem;
  border: 1px solid var(--border);
  text-align: left;
  font-size: 0.9rem;
}
.page-body th {
  background: var(--bg-2);
  font-weight: 500;
}
.page-image {
  margin-bottom: 1.5rem;
}
.page-image img {
  border-radius: 14px;
}
