             primaryButton.heightAnchor.constraint(greaterThanOrEqualToConstant: UX.buttonHeight),
             secondaryButton.heightAnchor.constraint(greaterThanOrEqualToConstant: UX.buttonHeight)
         ])
+
+        contentStackView.spacing = shouldUseSmallDeviceLayout ? UX.smallStackViewSpacing : UX.stackViewSpacing
+        buttonStackView.spacing = shouldUseSmallDeviceLayout ? UX.smallStackViewSpacing : UX.stackViewSpacing
     }
 
     private func updateLayout() {

        static let buttonCornerRadius: CGFloat = 13
        static let stackViewPadding: CGFloat = 20
        static let scrollViewVerticalPadding: CGFloat = 62
    }

    var viewModel: OnboardingCardProtocol
    weak var delegate: OnboardingCardDelegate?

    var nextClosure: ((IntroViewModel.OnboardingCards) -> Void)?
    var primaryActionClosure: ((IntroViewModel.OnboardingCards) -> Void)?

    private lazy var scrollView: UIScrollView = .build { view in
        view.backgroundColor = .clear

            // Content view wrapper around text
            contentContainerView.topAnchor.constraint(equalTo: containerView.topAnchor),
            contentContainerView.leadingAnchor.constraint(equalTo: containerView.leadingAnchor, constant: UX.stackViewPadding),
            contentContainerView.bottomAnchor.constraint(equalTo: buttonStackView.topAnchor, constant: -stackViewSpacingButtons),
            contentContainerView.trailingAnchor.constraint(equalTo: containerView.trailingAnchor, constant: -UX.stackViewPadding),

            contentStackView.topAnchor.constraint(greaterThanOrEqualTo: contentContainerView.topAnchor, constant: UX.stackViewPadding),
