
.bw-text > :first-child { margin-top: 0; }
.bw-text p { margin: 18px 0 0; font-size: calc(17px * var(--a11y-fs, 1)); line-height: 1.78; color: var(--bw-body); }
.bw-text a { color: var(--bw-blue); text-decoration: underline; }
.bw-text strong { font-weight: 700; color: var(--bw-ink); }
.bw-text ul, .bw-text ol { margin: 16px 0 0; padding-left: 22px; }
.bw-text li { margin-top: 8px; font-size: calc(17px * var(--a11y-fs, 1)); line-height: 1.7; color: var(--bw-body); }
.bw-text img { max-width: 100%; height: auto; display: block; margin-top: 24px; }
.bw-text figure { margin-top: 24px; }
.bw-text figure img { margin-top: 0; }

.bw-text h2 {
  display: flex; align-items: center; gap: 14px; margin: 44px 0 0;
  font-size: calc(27px * var(--a11y-fs, 1)) !important; line-height: 1.25; font-weight: 700; letter-spacing: -0.3px;
  color: var(--bw-ink); scroll-margin-top: 110px;
}
.bw-text h2::before {
  content: ""; flex: 0 0 5px; width: 5px; align-self: stretch; min-height: 30px;
  border-radius: 9999px; background: var(--bw-orange);
}
.bw-text h3 {
  margin: 30px 0 0; font-size: calc(19px * var(--a11y-fs, 1)); font-weight: 700; color: var(--bw-orange);
  scroll-margin-top: 110px;
}
.bw-text h2 + p, .bw-text h3 + p { margin-top: 12px; }

@media (max-width: 640px) {
  .bw-text p, .bw-text li { font-size: calc(16px * var(--a11y-fs, 1)); }
  .bw-text h2 { font-size: calc(22px * var(--a11y-fs, 1)) !important; margin-top: 36px; }
  .bw-text h3 { font-size: calc(18px * var(--a11y-fs, 1)); }
}

@media (max-width: 380px) {
  .bw-text h2 { font-size: calc(20px * var(--a11y-fs, 1)) !important; }
}

/* WCAG 1.4.10: long URLs and paths break instead of widening the page at 320px. */
.bw-text { overflow-wrap: break-word; }
.bw-text pre { max-width: 100%; overflow-x: auto; }
