.cms-content {
  color: hsl(var(--foreground) / 0.85);
  line-height: 1.7;
}
.cms-content :is(h1, h2, h3, h4) {
  font-family: var(--font-heading);
  color: hsl(var(--tm-brand-shade-2));
  font-weight: 500;
  letter-spacing: normal;
  line-height: 1.2;
}
.cms-content h1 { font-size: 2rem; margin: 0 0 1rem; }
.cms-content h2 { font-size: 1.75rem; margin: 2rem 0 0.75rem; }
.cms-content h3 { font-size: 1.375rem; margin: 1.75rem 0 0.5rem; }
.cms-content h4 { font-size: 1.125rem; margin: 1.25rem 0 0.5rem; }
.cms-content :is(h1, h2, h3, h4):first-child { margin-top: 0; }
@media (min-width: 1280px) {
  .cms-content h1 { font-size: 2.75rem; }
  .cms-content h2 { font-size: 2.25rem; }
  .cms-content h3 { font-size: 1.5rem; }
}
.cms-content p { margin: 0 0 1rem; }
.cms-content :is(strong, b) { font-weight: 600; color: hsl(var(--tm-brand-shade-2)); }
.cms-content :is(ul, ol) { margin: 0.75rem 0; padding-left: 1.25rem; }
.cms-content ul { list-style: disc; }
.cms-content ol { list-style: decimal; }
.cms-content li { margin-top: 0.25rem; }
.cms-content a { color: hsl(var(--brand-primary-on-white)) !important; font-weight: 500; text-decoration: underline; text-underline-offset: 4px; }
.cms-content a:hover { text-decoration-thickness: 2px; }
.cms-content hr { margin: 1.5rem 0; border-color: hsl(var(--border)); }
.cms-content img { max-width: 100%; height: auto; }
.cms-content :is(.img-fluid, .img-responsive, iframe) { border-radius: var(--radius); }
.cms-content .img-responsive { display: block; margin: 0 auto; }
.cms-content table { width: 100%; margin: 1rem 0; border-collapse: collapse; }
.cms-content :is(td, th) { padding: 0.5rem 0.75rem; border-bottom: 1px solid hsl(var(--border)); vertical-align: top; text-align: left; }
