Sure there are timelock scripts (and opcodes) in Bitcoin.
From the Mastering the Lightning Community e-book (Antonopoulos, Osuntokun, Pickhardt):
Bitcoin has two ranges of timelocks: transaction-level timelocks and output-level timelocks.
A transaction-level timelock is recorded within the transaction nLockTime discipline of the transaction and prevents your complete transaction from being accepted earlier than the timelock has handed. Transaction-level timelocks are essentially the most generally used timelock mechanism in Bitcoin at present.
An output-level timelock is created by a script operator. There are two forms of output timelocks: absolute timelocks and relative timelocks.
Output-level absolute timelocks are applied by the operator CHECKLOCKTIMEVERIFY, which is usually shortened in dialog as CLTV. Absolute timelocks implement a time constraint with an absolute timestamp or blockheight, expressing the equal of “not spendable earlier than block 800,000.”
Output-level relative timelocks are applied by the operator CHECKSEQUENCEVERIFY, usually shortened in dialog as CSV. Relative timelocks implement a spending constraint that’s relative to the affirmation of the transaction, expressing the equal of “can’t be spent till 1,024 blocks after affirmation.”
Clearly your descendant would want entry to the related personal key (and nobody else ought to be capable of entry it) for at any time when the timelock expires however the timelock would stop the spending of the Bitcoin till then. Extra complicated preparations (e.g. a mixture of multisig and a timelock) could also be superior to guard in opposition to the potential for somebody apart from your descendant gaining access to the personal key.