.cms-text-section,
:root[data-site-theme=light] .cms-text-section,
:root[data-site-theme=dark] .cms-text-section {
  display: flow-root;
  width: 100%;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0;
  margin: 0;
}

.cms-text-section > :first-child,
.cms-text-section .rich-text > :first-child {
  margin-top: 0;
}

.cms-text-section > :last-child,
.cms-text-section .rich-text > :last-child {
  margin-bottom: 0;
}

.cms-text-section :is(h1, h2, h3, h4, h5, h6),
.cms-text-section .rich-text :is(h1, h2, h3, h4, h5, h6) {
  max-width: var(--site-heading-width);
  color: var(--site-heading-color);
  line-height: 1.05;
  letter-spacing: 0;
}

.cms-text-section :is(h1),
.cms-text-section .rich-text :is(h1) {
  font-size: 4.25rem;
}

.cms-text-section :is(h2),
.cms-text-section .rich-text :is(h2) {
  font-size: 3.25rem;
}

.cms-text-section :is(h3),
.cms-text-section .rich-text :is(h3) {
  font-size: 2.25rem;
}

.cms-text-section :is(h4),
.cms-text-section .rich-text :is(h4) {
  font-size: 1.55rem;
}

.cms-text-section :is(h5),
.cms-text-section .rich-text :is(h5) {
  font-size: 1.08rem;
}

.cms-text-section :is(h6),
.cms-text-section .rich-text :is(h6) {
  font-size: 0.95rem;
  text-transform: uppercase;
}

.public-section {
  padding: 1.6rem 0;
}

.public-section h2 {
  font-size: clamp(1.7rem, 4vw, 2.8rem);
}

.public-section :is(p, ul, ol) {
  max-width: var(--site-narrow-width);
  color: var(--ink-muted);
  font-size: var(--site-copy-font-size);
  line-height: var(--site-copy-line-height);
}

.public-section li {
  font-size: inherit;
  line-height: inherit;
}

.public-image-block {
  width: min(var(--site-page-width), 100vw - var(--site-edge-gap) * 2);
  margin: 1.25rem auto;
}
