So with https, someone can still see what website I visited, but not which pages within that website I visited, correct?
Kind of. HTTPS is build on top of TLS. Within the TLS handshake the client announces to the server which domain it wants to access. This is needed since there can be several domains with their own certificates on the same server IP address and the server need to decide which certificate to provide to the client.
This server name is traditionally included as a plainly visible SNI (Server Name Indication) extension in the the TLS handshake, so that it can be extracted with passive sniffing. Additionally up to TLS 1.2 the certificates from the server were send in plain too. Since the certificates also contain the server name they could also be used to gain information. With TLS 1.3 the certificates are encrypted though.
Note that all HTTP application data are encrypted from start, which means that neither the full URL nor any other content can be sniffed by a passive attacker.
Is there a protocol/technology that actually provides encryption for that initial connection?
Encrypted SNI makes it possible to encrypt the SNI too. Unfortunately to encrypt the SNI there has to be some encryption key unknown to the attacker first. This is done (among other things) with the help of asymmetric cryptography, where the public key of the domain is located in the DNS. Only the server with access to the matching private key can decrypt the ESNI then, the attacker can't.
Of course, the attacker could still sniff the DNS requests to find out which domains the client looks up and which IP these return and then match these information to find the accessed domain name. Encrypting DNS helps here too, i.e. DNS over HTTPS (DoH) or DNS over TLS (DoT). Still, the attacker might reverse the IP to the domain name with other methods unless there are many different domains behind a certain IP. The latter is usually the case with Content Delivery Networks (CDN) and for small web sites on a bigger hosting provider, but is often not the case with larger web sites.
To close the gap of the attacker knowing the target IP address one has to use a VPN to protect the part of the connection where one suspects the attacker will sniff (i.e. typically local Hotspot or maybe nosy ISP or government). The VPN provider will of course still see the real target IP since otherwise it could not forward the traffic to the target.