.wedding-letter__text :is(h3, h4, h5, h6) {
  font-family: var(--font-display);
  color: var(--ink);
  font-weight: 600;
  line-height: 1.25;
  text-wrap: balance;
  margin-block: 28px 12px;
}
.wedding-letter__text h3 { font-size: 28px; }
.wedding-letter__text h4 { font-size: 24px; }
.wedding-letter__text :is(h5, h6) { font-size: 20px; }
.wedding-letter__text :is(ul, ol) { margin-block: 16px; padding-inline-start: 24px; }
.wedding-letter__text li + li { margin-block-start: 6px; }
.wedding-letter__text li p { margin-block: 6px; }
.wedding-letter__text blockquote {
  margin: 20px 0;
  padding: 16px 20px;
  background: var(--paper);
  border-inline-start: 1px solid var(--sky);
}
.wedding-letter__text blockquote p:last-child { margin-block-end: 0; }
.wedding-letter__text hr { border: 0; border-block-start: 1px solid var(--line); margin-block: 24px; }
.wedding-letter__text code { font-size: .9em; padding: 2px 4px; background: var(--bg-alt); }
.wedding-letter__text pre { max-width: 100%; overflow: auto; padding: 16px; background: var(--bg-alt); }
.wedding-letter__text pre code { padding: 0; }
.wedding-letter__text img { max-width: 100%; height: auto; margin-block: 16px; }
.wedding-markdown__table { max-width: 100%; overflow: auto; margin-block: 20px; }
.wedding-markdown__table table { width: 100%; border-collapse: collapse; }
.wedding-markdown__table :is(th, td) { padding: 10px 12px; border: 1px solid var(--line); text-align: start; }
.wedding-markdown__table th { background: var(--paper); }
.wedding-markdown__table:focus-visible { outline: 2px solid var(--deep); outline-offset: 2px; }
