body.dc-ds-v4 {
  background: var(--dc-ui-canvas);
  color: var(--dc-ui-text);
  font-family: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.65;
}

body.dc-ds-v4 *,
body.dc-ds-v4 *::before,
body.dc-ds-v4 *::after { box-sizing: border-box; }

body.dc-ds-v4 :where(h1, h2, h3, h4) {
  color: var(--dc-ui-ink);
  font-family: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-weight: 700;
  letter-spacing: -.03em;
  text-wrap: balance;
}

body.dc-ds-v4 h1 { font-size: clamp(36px, 4vw, 56px); line-height: 1.06; }
body.dc-ds-v4 h2 { font-size: clamp(28px, 3vw, 40px); line-height: 1.15; }
body.dc-ds-v4 h3 { font-size: clamp(21px, 2vw, 26px); line-height: 1.28; }

body.dc-ds-v4 :where(p, li) { color: var(--dc-ui-text); }

body.dc-ds-v4 #main-content a:not([class*="button"]):not(.dc-btn):not(.dc-header__cta) {
  color: var(--dc-ui-primary-hover);
  text-decoration-color: currentColor;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

body.dc-ds-v4 :where(a, button, input, textarea, select, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--dc-ui-focus);
  outline-offset: 3px;
}

body.dc-ds-v4 :where(.dc-page-hero, .dc-article__toc, .dc-footer) :where(a, button, input, textarea, select, summary, [tabindex]):focus-visible,
body.dc-ds-v4 > aside.dc-cta :where(a, button, input, textarea, select, summary, [tabindex]):focus-visible {
  outline-color: var(--dc-ui-focus-dark);
}

body.dc-ds-v4 :where(button, input, textarea, select) { font: inherit; }

body.dc-ds-v4 :where([id]) { scroll-margin-top: 92px; }

@media (prefers-reduced-motion: reduce) {
  body.dc-ds-v4 *,
  body.dc-ds-v4 *::before,
  body.dc-ds-v4 *::after {
    scroll-behavior: auto;
    animation-duration: .01ms;
    animation-iteration-count: 1;
    transition-duration: .01ms;
  }
}

@media print {
  body.dc-ds-v4 :where(#dc-header, .dc-footer, .dc-back-to-top, .dc-search-modal),
  body.dc-ds-v4 > aside.dc-cta { display: none; }
}
