Here are my heading show rules
#show heading.where(numbering: "1.1") : it => [
#v(1em)
#block({
box(width: 18mm, text(counter(heading).display(), weight: 600))
text(it.body, weight: 600)
})
#v(1em)
]
#show heading.where(level: 1) : it => text(
accent,
size: 18pt,
)[
#pagebreak(weak: true)
#let subdued = theme.text.lighten(50%)
#set text(font: "JetBrainsMono NF")
#grid(
columns: (1fr, 1fr),
align: (left + bottom, right + top),
text(it.body, size: 24pt, weight: "bold"),
if it.numbering != none {
text(subdued, weight: 200, size: 100pt)[#counter(heading).get().at(0)]
v(1.5em)
},
)
#v(-0.5em)
// #hr
#hline-with-gradient(cmap: (accent, subdued), height: 2pt)
#v(1.5em)
]
#show heading.where(level: 4) : it => text(
black,
size: 14pt,
)[
#v(0.25em)
#block({
box(width: 18mm, text(counter(heading).display(), weight: 600))
text(it.body, weight: 600)
})
#v(0.15em)
]