Yes, everything gets measured relative to the text area inside the margins. However, you can work around this by manually involving the margins into your calculations. For example, the following should do what you want:
#let author = "Name"
#set document(
title: "Title",
author: author,
)
#set page(
paper: "us-letter",
margin: (top: 1in, bottom: 1in, x: 1in),
numbering: "1",
footer-descent: 0.5in - 7.24pt,
// 7.24pt is measure(sym.zws).height, adjust for your font.
)
#v(1in) // + 1in margin = 2in
#align(center, upper(title()))
#v(1in)
#align(center, upper(author))
#v(1in)
// - 1in to compensate for the left margin
#context pad(left: (page.width * 2/3) - 1in )[
#set par(leading: 2em)
Approved by:\
Name\
Name\
]
- For 1., we know what the top page margin is, so we use
vto add the remaining height - For 3. we use
contextto accesspage.width, to calculate how much “2/3 of the way across the page” is, then we subtract the left margin from this length to get how far we have to indent further. - For 4. We use the knowledge of how tall the bottom margin is, and how tall a line of text is to calculate how long the distance between footer and text area needs to be. If you change the font or font size, use
#context measure(sym.zws).heightto calculate the offset (here, it is7.24ptwith typst default font)
Heres the above example again, but with a 0.5in grid in overlay (and some lorem ipsum so you can see the margins):

