All options stack-natural pass Each card overlaps the one above it by a small lip, and the card above eases back (smaller and shaded) as the next one rises, so a list of offers reads as a stack of cards being laid down, at the page's natural height.
Earns its place when: Three to six offering cards, each with a photo and a short description, that the reader would otherwise meet as a flat list.
Never when: Fewer than three cards, a card with text in its bottom lip, or any wish to pin the stack or give it a scroll runway.
Measured: Clean against the same page without it on helf-hardscaping, kmg-heating-plumbing, kettle-and-vine.
Not in the brief or the generator. It enters only if Ryan picks it.
HELF Hardscaping (light trade) pass lint: no new finding at 1440 or 393 (scripts on and off, reduced motion). rubric: no new finding at 1440 or 390 (0 with it, 0 without). 16 device checks passed.
Open the live page with it on · the same page without it
Motion lint, new findings 1440: none 390: none Rubric (1440 and 390) 0 findings with it, 0 without. New: none Checks (scripts on, off, reduced motion) ok 1440: no new opacity-hidden text at load (scripts on): on 0, off 0 ok 1440: no sideways overflow: scrollWidth 1440 vs 1440 ok 1440: cards overlap by a lip in flow: [[1284.15625,2131.265625],[2103.265625,2950.375]] ok 1440: the covered cards ease back as the next rises: dp 4.00,3.00,2.00,1.00,0.00 ok 1440: no new hidden text with scripts off: on 0, off 0 ok 390: no new opacity-hidden text at load (scripts on): on 0, off 0 ok 390: no sideways overflow: scrollWidth 390 vs 390 ok 390: cards overlap by a lip in flow: [[1176.015625,1847.9375],[1819.9375,2491.6875]] ok 390: the covered cards ease back as the next rises: dp 4.00,3.00,2.00,1.00,0.00 ok 390: no new hidden text with scripts off: on 0, off 0 Page height with it vs without: 1440 10624 vs 10720, 390 9912 vs 10008 (px)
Without it, then with it Without it, 1440 With it, 1440 Without it, 390 With it, 390 The motion, 1440 wide 1440, frame 1 1440, frame 2 1440, frame 3 1440, frame 4 The motion, 390 wide 390, frame 1 390, frame 2 390, frame 3 390, frame 4 KMG Heating & Plumbing (dark trade) pass lint: no new finding at 1440 or 393 (scripts on and off, reduced motion). rubric: no new finding at 1440 or 390 (12 with it, 12 without). 16 device checks passed.
Open the live page with it on · the same page without it
Motion lint, new findings 1440: none 390: none Rubric (1440 and 390) 12 findings with it, 12 without. New: none Checks (scripts on, off, reduced motion) ok 1440: no new opacity-hidden text at load (scripts on): on 0, off 0 ok 1440: no sideways overflow: scrollWidth 1440 vs 1440 ok 1440: cards overlap by a lip in flow: [[1452.78125,2284.609375],[2256.609375,3094]] ok 1440: the covered cards ease back as the next rises: dp 4.00,3.00,2.00,1.00,0.00 ok 1440: no new hidden text with scripts off: on 0, off 0 ok 390: no new opacity-hidden text at load (scripts on): on 0, off 0 ok 390: no sideways overflow: scrollWidth 390 vs 390 ok 390: cards overlap by a lip in flow: [[1205.265625,1802.765625],[1774.765625,2396.890625]] ok 390: the covered cards ease back as the next rises: dp 4.00,3.00,2.00,1.00,0.00 ok 390: no new hidden text with scripts off: on 0, off 0 Page height with it vs without: 1440 11729 vs 11825, 390 10682 vs 10778 (px)
Without it, then with it Without it, 1440 With it, 1440 Without it, 390 With it, 390 The motion, 1440 wide 1440, frame 1 1440, frame 2 1440, frame 3 1440, frame 4 The motion, 390 wide 390, frame 1 390, frame 2 390, frame 3 390, frame 4 Kettle & Vine (restaurant) pass lint: no new finding at 1440 or 393 (scripts on and off, reduced motion). rubric: no new finding at 1440 or 390 (14 with it, 14 without). 16 device checks passed.
Open the live page with it on · the same page without it
Motion lint, new findings 1440: none 390: none Rubric (1440 and 390) 14 findings with it, 14 without. New: none Checks (scripts on, off, reduced motion) ok 1440: no new opacity-hidden text at load (scripts on): on 58, off 58 ok 1440: no sideways overflow: scrollWidth 1440 vs 1440 ok 1440: cards overlap by a lip in flow: [[2121.09375,2615.578125],[2587.578125,3048.21875]] ok 1440: the covered cards ease back as the next rises: dp 4.00,3.00,2.00,1.00,0.00 ok 1440: no new hidden text with scripts off: on 0, off 0 ok 390: no new opacity-hidden text at load (scripts on): on 58, off 58 ok 390: no sideways overflow: scrollWidth 390 vs 390 ok 390: cards overlap by a lip in flow: [[1895.703125,2383.65625],[2355.65625,2843.609375]] ok 390: the covered cards ease back as the next rises: dp 4.00,3.00,2.00,1.00,0.00 ok 390: no new hidden text with scripts off: on 0, off 0 Page height with it vs without: 1440 11674 vs 11770, 390 11057 vs 11153 (px)
Without it, then with it Without it, 1440 With it, 1440 Without it, 390 With it, 390 The motion, 1440 wide 1440, frame 1 1440, frame 2 1440, frame 3 1440, frame 4 The motion, 390 wide 390, frame 1 390, frame 2 390, frame 3 390, frame 4