#preview-stacked-cards { --cards: 3; --cardTopPadding: 3rem; --cardMargin: 1rem; } #preview-stacked-cards { list-style: none; padding-left: 0; display: grid; grid-template-columns: 1fr; grid-template-rows: repeat(var(--cards), 1fr); gap: var(--cardMargin); } #preview-stacked-cards > div:nth-child(1) { --index: 0; } #preview-stacked-cards > div:nth-child(2) { --index: 1; } #preview-stacked-cards > div:nth-child(3) { --index: 2; } #preview-stacked-cards > div { position: sticky; top: 0; padding-top: calc(var(--index) * var(--cardTopPadding)); } @media screen and (max-width: 1024px) { #preview-stacked-cards { --cardTopPadding: 3rem; --cardMargin: 1rem; } }