.sp-page {
  padding: 32px 0 64px;
}

.sp-shell .container {
  max-width: var(--max, 1100px);
  margin: 0 auto;
  padding: 0 var(--gutter, 28px);
}

.sp-article {
  max-width: 760px;
  margin: 0 auto;
}

.sp-title {
  font-family: var(--font-display);
  font-size: clamp(1.75rem, 4vw, 2.25rem);
  line-height: 1.15;
  font-weight: 700;
  color: var(--ink);
  margin: 0 0 12px;
}

.sp-meta {
  font-size: 0.875rem;
  color: var(--ink-3);
  margin: 0 0 28px;
}

.sp-body {
  font-size: 1.0625rem;
  line-height: 1.75;
  color: var(--ink-2);
  min-width: 0;
  overflow-wrap: anywhere;
}

.sp-body img {
  display: block;
  max-width: 100%;
  width: auto;
  height: auto;
  margin: 1.25rem auto;
  border-radius: 8px;
}

.sp-body figure,
.sp-body .embed-youtube {
  max-width: 100%;
  overflow: hidden;
}

.sp-body iframe,
.sp-body video {
  display: block;
  max-width: 100%;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  border: 0;
}

.sp-body table {
  display: block;
  max-width: 100%;
  overflow-x: auto;
}

@media (max-width: 720px) {
  .sp-page {
    padding: 24px 0 48px;
  }
}
