How can I prevent level 1 headings from being numbered?

Hello.

#set heading(numbering: (..n) => numbering("1.1", ..n.pos().slice(1)))
#show heading.where(level: 1): set heading(numbering: none)
= First level
== Second level
=== Third level
==== Fourth level

Though, to address the rest of the code:

// #show heading: set text(font: ("Poppins", "Noto Serif CJK SC"))
#set text(font: ("Poppins", "Noto Serif CJK SC"))
#set heading(numbering: (..n) => numbering("1.1", ..n.pos().slice(1)))

#show heading.where(level: 1): set align(center)
#show heading.where(level: 1): set text(20pt)
#show heading.where(level: 1): set heading(numbering: none)
// #show heading.where(level: 1): smallcaps

#show heading.where(level: 2): set text(18pt, rgb("#045bac"))
// #show heading.where(level: 2): smallcaps

#show heading.where(level: 3): set text(14pt, rgb("#062f56"), weight: "regular")
// #show heading.where(level: 3): smallcaps

#show heading: smallcaps

= First level
== Second level
=== Third level
==== Fourth level

Nice, I already forgot about this neat (_, ..n) trick.