body {
  font-family: "SF Pro Rounded", sans-serif;
  overflow-x: hidden;
}

small {
  font-size: 0.875rem;
  line-height: 1.5rem;
}

/* Mobile safety rails for CMS/blog content and embedded media across pages. */
.prose {
  max-width: 100%;
  overflow-wrap: anywhere;
}

.prose img,
.prose video,
.prose iframe,
.prose canvas,
.prose svg {
  max-width: 100% !important;
  height: auto;
}

.prose pre {
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.prose code {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.prose table {
  display: block;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 639px) {
  .prose {
    font-size: 0.98rem;
  }

  .prose h1 {
    font-size: clamp(2rem, 8vw, 2.75rem);
    line-height: 1.1;
  }

  .prose h2 {
    font-size: clamp(1.5rem, 6.5vw, 2rem);
    line-height: 1.2;
  }

  .prose h3 {
    font-size: clamp(1.2rem, 5.5vw, 1.45rem);
    line-height: 1.3;
  }

  .prose p,
  .prose li,
  .prose dd,
  .prose blockquote {
    line-height: 1.72;
  }
}
