.cmg-rich-content {
  overflow-wrap: anywhere;
}

.cmg-rich-content > :first-child {
  margin-top: 0;
}

.cmg-rich-content > :last-child {
  margin-bottom: 0;
}

.cmg-rich-content h3,
.cmg-rich-content h4 {
  margin: 1.45em 0 0.55em;
  color: var(--ink, #25313a);
  line-height: 1.25;
}

.cmg-rich-content h3 {
  font-size: 1.38em;
}

.cmg-rich-content h4 {
  font-size: 1.12em;
}

.cmg-rich-content p,
.cmg-rich-content ul,
.cmg-rich-content ol,
.cmg-rich-content blockquote {
  margin: 0 0 1em;
}

.cmg-rich-content ul,
.cmg-rich-content ol {
  padding-left: 1.5em;
}

.cmg-rich-content li + li {
  margin-top: 0.35em;
}

.cmg-rich-content blockquote {
  border-left: 4px solid var(--green, var(--blue, #678da8));
  border-radius: 0 10px 10px 0;
  padding: 0.85em 1em;
  color: var(--muted, #6c7478);
  background: var(--green-soft, var(--blue-soft, #e7eef2));
}

.cmg-rich-inline:is(blockquote) {
  margin: 1em 0;
  border-left: 4px solid var(--green, var(--blue, #678da8));
  border-radius: 0 10px 10px 0;
  padding: 0.85em 1em;
  color: var(--muted, #6c7478);
  background: var(--green-soft, var(--blue-soft, #e7eef2));
}

.cmg-rich-content a,
.cmg-rich-inline a {
  color: var(--green-dark, var(--blue-dark, #435f75));
  font-weight: 700;
  text-underline-offset: 0.18em;
}

.cmg-rich-content mark,
.cmg-rich-inline mark {
  border-radius: 0.22em;
  padding: 0.06em 0.18em;
  color: inherit;
  background: #fff0a8;
}
