OfferCard: {
    bannerText: string;
    endsAt: string;
    key: string;
    percentOff: number;
    variant: string;
}

A discount offer banner: "", ending at endsAt (show a countdown). percentOff applies to the first payment of a new monthly subscription. Admin: an offer experiment is unitType person, goal buy; each non-control variant's config is { percentOff (5-90), hours (1-168), bannerText (<=120) } - the server adds couponId itself.