Curtain reveal sections
Each section pins in place while the next one slides up and covers it, like pages of a book being laid on top.
CSSBeginner
<section><div><h2>One</h2><p>Keep scrolling</p></div></section>
<section><div><h2>Two</h2><p>I slid over the first</p></div></section>
<section><div><h2>Three</h2><p>And I covered the second</p></div></section>
<section><div><h2>Four</h2><p>The last layer</p></div></section>
body{display:block;height:auto}
section{position:sticky;top:0;height:100vh;display:grid;place-items:center;text-align:center;padding:24px;
border-radius:26px 26px 0 0;box-shadow:0 -24px 50px rgba(0,0,0,.45)}
section:nth-child(1){background:#140807;border-radius:0;box-shadow:none;z-index:1}
section:nth-child(2){background:#2a0f0b;z-index:2}
section:nth-child(3){background:#1f1210;z-index:3}
section:nth-child(4){background:#2f1512;z-index:4}
h2{margin:0;font-size:clamp(2.2rem,9vw,4rem);letter-spacing:-.03em}
p{margin:8px 0 0;color:#cfc3c1}
<!doctype html>
<html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Curtain reveal sections</title>
<style>
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{display:grid;place-items:center;background:#140807;color:#fffffc;font:16px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}
body{display:block;place-items:normal;height:auto}
section{position:sticky;top:0;height:100vh;display:grid;place-items:center;text-align:center;padding:24px;
border-radius:26px 26px 0 0;box-shadow:0 -24px 50px rgba(0,0,0,.45)}
section:nth-child(1){background:#140807;border-radius:0;box-shadow:none;z-index:1}
section:nth-child(2){background:#2a0f0b;z-index:2}
section:nth-child(3){background:#1f1210;z-index:3}
section:nth-child(4){background:#2f1512;z-index:4}
h2{margin:0;font-size:clamp(2.2rem,9vw,4rem);letter-spacing:-.03em}
p{margin:8px 0 0;color:#cfc3c1}
</style></head>
<body>
<section><div><h2>One</h2><p>Keep scrolling</p></div></section>
<section><div><h2>Two</h2><p>I slid over the first</p></div></section>
<section><div><h2>Three</h2><p>And I covered the second</p></div></section>
<section><div><h2>Four</h2><p>The last layer</p></div></section>
</body></html>
Good for
Landing pages with a few big statements. Pure CSS, no scripts.
Watch out for
Sticky sections taller than the viewport will cut off their own bottom. Keep each one at 100vh or less.
Accessibility
Wrap motion in @media (prefers-reduced-motion: reduce) and switch it off or shorten it for people who ask for less movement.