.contentBlock {
  padding: 112px 64px;
  font-family: "DM Sans", sans-serif;
}

.contentBlock__container {
  max-width: 1280px;
  width: 100%;
  margin: 0 auto;
}

.contentBlock__cols {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 64px;
}

/* Left column ------------------------------------------------------------ */

.contentBlock__tocCol {
  width: 320px;
  flex: 0 0 320px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  /* Follow scroll, but stay below fixed header */
  position: sticky;
  top: 180px; /* matches scroll-margin-top used for headings */
}

.contentBlock__tocTitle {
  margin: 0;
  font-weight: 600;
  font-size: 32px;
  line-height: 1.4;
  color: #0b0203;
}

.contentBlock__toc {
  display: flex;
  flex-direction: column;
  width: 100%;
  /* Allow scrolling in TOC when it's long */
  max-height: calc(100vh - 200px);
  overflow: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding-right: 6px; /* room for scrollbar without shifting */
}

.contentBlock__tocItem {
  display: block;
  text-decoration: none;
  color: #0b0203;
  padding: 12px 16px;
  border-radius: 5px;
  box-sizing: border-box;
}

/* indentation by depth (matches Figma: 16,32,48,64,80) */
.contentBlock__tocItem--l1 {
  padding-left: 16px;
}
.contentBlock__tocItem--l2 {
  padding-left: 16px;
}
.contentBlock__tocItem--l3 {
  padding-left: 32px;
}
.contentBlock__tocItem--l4 {
  padding-left: 48px;
}
.contentBlock__tocItem--l5 {
  padding-left: 64px;
}
.contentBlock__tocItem--l6 {
  padding-left: 80px;
}

/* level 2 is styled like the “button” */
.contentBlock__tocItem--major {
  font-weight: 600;
  font-size: 22px;
  line-height: 1.4;
}

/* deeper levels */
.contentBlock__tocItem:not(.contentBlock__tocItem--major) {
  font-weight: 400;
  font-size: 18px;
  line-height: 1.5;
}

.contentBlock__tocItem.is-current {
  border: 2px solid rgba(10, 52, 76, 0.25);
}

/* Right column ----------------------------------------------------------- */

.contentBlock__rich {
  flex: 1 1 auto;
  max-width: 768px;
  min-width: 0;
}

.contentBlock__title {
  margin: 0 0 16px;
  font-weight: 700;
  font-size: 48px;
  line-height: 1.2;
  color: #000;
}

.contentBlock__content {
  color: #0b0203;
  font-size: 18px;
  line-height: 1.5;
}

/* Apply the Figma typography inside the WYSIWYG output */
.contentBlock__content p {
  margin: 0 0 16px;
}
.contentBlock__content p strong {
  font-weight: 700;
}

.contentBlock__content h1,
.contentBlock__content h2,
.contentBlock__content h3,
.contentBlock__content h4,
.contentBlock__content h5,
.contentBlock__content h6 {
  margin: 0;
  color: #0b0203;
}

/* Heading 1 */
.contentBlock__content h1 {
  padding: 28px 0;
  font-weight: 700;
  font-size: 44px;
  line-height: 1.15;
  letter-spacing: 1px;
}

/* Heading 2 */
.contentBlock__content h2 {
  padding: 26px 0;
  font-weight: 700;
  font-size: 40px;
  line-height: 1.2;
  letter-spacing: 1px;
}

/* Figma: Heading 3 (36px, tracking 2px) */
.contentBlock__content h3 {
  padding: 24px 0;
  font-weight: 600;
  font-size: 36px;
  line-height: normal;
  letter-spacing: 2px;
}

/* Figma: Heading 4 (32px) */
.contentBlock__content h4 {
  padding: 24px 0 20px;
  font-weight: 600;
  font-size: 32px;
  line-height: 1.4;
}

/* Figma: Heading 5 (24px) */
.contentBlock__content h5 {
  padding: 20px 0 16px;
  font-weight: 600;
  font-size: 24px;
  line-height: 1.4;
}

/* Figma: Heading 6 (20px bold) */
.contentBlock__content h6 {
  padding: 20px 0 16px;
  font-weight: 700;
  font-size: 20px;
  line-height: 1.4;
}

/* Quote block (WYSIWYG blockquote) */
.contentBlock__content blockquote {
  margin: 36px 0;
  padding: 0 20px 0 20px;
  border-left: 2px solid rgba(11, 2, 3, 0.15);
}
.contentBlock__content blockquote p {
  margin: 0;
}

/* Heading scroll offset (fixed header) */
.contentBlock__content [data-content-block-heading] {
  scroll-margin-top: 180px;
}

/* Responsive ------------------------------------------------------------- */
@media (max-width: 1024px) {
  .contentBlock {
    padding: 96px 40px;
  }
  .contentBlock__cols {
    gap: 40px;
  }
}

@media (max-width: 900px) {
  .contentBlock__cols {
    flex-direction: column;
    gap: 32px;
  }
  .contentBlock__tocCol {
    width: 100%;
    flex: 0 0 auto;
    position: static;
    top: auto;
  }
  .contentBlock__rich {
    max-width: none;
  }
}

@media (max-width: 600px) {
  .contentBlock {
    padding: 72px 20px;
  }
  .contentBlock__tocTitle {
    font-size: 26px;
  }
  .contentBlock__title {
    font-size: 36px;
  }
  .contentBlock__content {
    font-size: 16px;
  }
}
