  /* =========================================
   Policies outline (Cohesion-safe)
   Format:
   I.            (upper roman, bold)
     A.          (upper alpha)
       a.        (lower alpha)
         1.      (decimal — levels 4 through 8)
   Level 1 has NO list indent. Wrapped lines hang
   under the text, not under the marker.
   ========================================= */

/* Kill native markers permanently */
.page-node-type-policies .policies-outline ol,
.page-node-type-policies .policies-outline li {
  list-style: none !important;
}

/* ---------- LEVEL 1: I, II, III ---------- */
.page-node-type-policies .policies-outline ol {
  margin: 0 0 1rem;
  padding-left: 0;
  counter-reset: level1;
}
.page-node-type-policies .policies-outline ol > li {
  counter-increment: level1;
}
.page-node-type-policies .policies-outline ol > li::before {
  content: counter(level1, upper-roman) ". ";
  font-weight: 700;
}

/* Level-1 Roman numerals (III., IV., VIII.) are wider, so give them a
   wider gutter (~10px more) than the deeper a./1. levels. All three
   values stay matched so the text column stays aligned. */
.page-node-type-policies .policies-outline > div > ol > li {
  padding-left: 2rem;
}
.page-node-type-policies .policies-outline > div > ol > li::before {
  width: 2rem;
  margin-left: -2rem;
}

/* ---------- LEVEL 2: A, B, C ---------- */
.page-node-type-policies .policies-outline ol ol {
  margin-top: 0.2rem;
  margin-left: .5rem;
  counter-reset: level2;
}
.page-node-type-policies .policies-outline ol ol > li {
  counter-increment: level2;
}
.page-node-type-policies .policies-outline ol ol > li::before {
  content: counter(level2, upper-alpha) ". ";
}

/* ---------- LEVEL 3: a, b, c ---------- */
.page-node-type-policies .policies-outline ol ol ol {
  margin-left: .5rem;
  counter-reset: level3;
}
.page-node-type-policies .policies-outline ol ol ol > li {
  counter-increment: level3;
}
.page-node-type-policies .policies-outline ol ol ol > li::before {
  content: counter(level3, lower-alpha) ". ";
}

/* ---------- LEVEL 4: 1, 2, 3 ---------- */
.page-node-type-policies .policies-outline ol ol ol ol {
  margin-left: .5rem;
  counter-reset: level4;
}
.page-node-type-policies .policies-outline ol ol ol ol > li {
  counter-increment: level4;
}
.page-node-type-policies .policies-outline ol ol ol ol > li::before {
  content: counter(level4) ". ";
}

/* ---------- LEVEL 5: 1, 2, 3 ---------- */
.page-node-type-policies .policies-outline ol ol ol ol ol {
  margin-left: .5rem;
  counter-reset: level5;
}
.page-node-type-policies .policies-outline ol ol ol ol ol > li {
  counter-increment: level5;
}
.page-node-type-policies .policies-outline ol ol ol ol ol > li::before {
  content: counter(level5) ". ";
}

/* ---------- LEVEL 6: 1, 2, 3 ---------- */
.page-node-type-policies .policies-outline ol ol ol ol ol ol {
  margin-left: .5rem;
  counter-reset: level6;
}
.page-node-type-policies .policies-outline ol ol ol ol ol ol > li {
  counter-increment: level6;
}
.page-node-type-policies .policies-outline ol ol ol ol ol ol > li::before {
  content: counter(level6) ". ";
}

/* ---------- LEVEL 7: 1, 2, 3 ---------- */
.page-node-type-policies .policies-outline ol ol ol ol ol ol ol {
  margin-left: .5rem;
  counter-reset: level7;
}
.page-node-type-policies .policies-outline ol ol ol ol ol ol ol > li {
  counter-increment: level7;
}
.page-node-type-policies .policies-outline ol ol ol ol ol ol ol > li::before {
  content: counter(level7) ". ";
}

/* ---------- LEVEL 8: 1, 2, 3 ---------- */
.page-node-type-policies .policies-outline ol ol ol ol ol ol ol ol {
  margin-left: .5rem;
  counter-reset: level8;
}
.page-node-type-policies .policies-outline ol ol ol ol ol ol ol ol > li {
  counter-increment: level8;
}
.page-node-type-policies .policies-outline ol ol ol ol ol ol ol ol > li::before {
  content: counter(level8) ". ";
}

/* ---------- Hanging indent ----------
   Wrapped/continuation lines align under the text, not the marker.
   The three values must match: padding-left reserves the gutter,
   the marker fills it (width) and is pulled back into it (margin-left). */
.page-node-type-policies .policies-outline li {
  padding-left: 1.4rem;
}
.page-node-type-policies .policies-outline li::before {
  display: inline-block;
  width: 1.4rem;
  margin-left: -1.4rem;
}

/* ---------- Space between top-level (Roman numeral) sections ----------
   20px above each section except the first. */
.page-node-type-policies .policies-outline > div > ol > li:not(:first-child),
.page-node-type-policies .policies-outline > ol > li:not(:first-child) {
  padding-top: 20px;
}

/* ---------- Keep the marker on the same line as the item's first block ----------
   Editors paste either a <p> or a heading (H2-H6) as the item's first child.
   Both are display:block by default, which forces the content onto a new line
   below the counter marker. Force the FIRST child inline so it sits next to
   the marker. Headings keep their font weight/size via inline-block so they
   still read as headings; the marker line-height is unaffected.
   Any subsequent block (the nested <ol>, or later <p> tags) stays block and
   drops below as intended. */
.page-node-type-policies .policies-outline li > p:first-child {
  display: inline;
}
.page-node-type-policies .policies-outline li > h2:first-child,
.page-node-type-policies .policies-outline li > h3:first-child,
.page-node-type-policies .policies-outline li > h4:first-child,
.page-node-type-policies .policies-outline li > h5:first-child,
.page-node-type-policies .policies-outline li > h6:first-child {
  display: inline-block;
  margin: 0;
  vertical-align: top;
}

/* Restore vertical spacing for the nested list that follows an inline
   first-child heading or paragraph, since the inline element no longer
   contributes its own bottom margin. */
.page-node-type-policies .policies-outline li > p:first-child + ol,
.page-node-type-policies .policies-outline li > h2:first-child + ol,
.page-node-type-policies .policies-outline li > h3:first-child + ol,
.page-node-type-policies .policies-outline li > h4:first-child + ol,
.page-node-type-policies .policies-outline li > h5:first-child + ol,
.page-node-type-policies .policies-outline li > h6:first-child + ol {
  margin-top: 0.2rem;
}