How can I add indentation in headings?

I want to indent the titles like the text is 1.25cm, but the pad doesn’t work when the title is numbered, and the block doesn’t work either - instead of indenting from the left, it indents from the top.

#let inst_heading(body) = [

    #set heading(
    depth: 3,
    numbering: "1.1",
  )  

  #show heading.where(level: 1): it => [
    #set align(center)
    #set text(weight: "semibold", size: 14pt)
    #set block(below: 2em)
    #it
  ]

  #show outline.entry.where(
    level: 1
  ): set block(above: 1.5em)
  
  #show outline.entry: it => link(
    it.element.location(),
    it.indented(it.prefix(), it.inner(), gap: 0.84em) 
  )

  #show heading.where(level: 2): it => [
    #set align(left)
    #set text(weight: "semibold", size: 14pt)

    #set block(below: 2em)
    #set block(above: 2em)
    #it
  ]

  #show heading.where(level: 3): it => [
    #set align(left)
    #set text(weight: "semibold", size: 14pt)
    
    #set block(below: 2em)
    #set block(above: 2em)
    #it
  ]

  #set list(marker: [--], indent: 1.25cm)
  #set enum(indent: 1.25cm)
  #body
]

Hi @qerenny, welcome to the Typst forum! Please have a look at the guidelines. In particular, could you post a minimal but complete example of code and explain how it doesn’t do what you want? You mention a “pad” of 1.25cm but there’s no pad call in your code, and the only 1.25 setting seems to work well. Maybe a screenshot of what you’re trying to get would help.