.dropdown,
.dropdown.right {
    background: #080302;
    border-top-color: var(--bright)
}

.dropdown a {
    color: #fff
}

.dropdown a:hover {
    background: var(--red);
    color: #fff
}

.promo-hero {
    padding-bottom: 72px
}

.promo-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 26px
}

.promo-card {
    background: #fff;
    border: 1px solid #eadcd3;
    overflow: hidden;
    transition: .25s
}

.promo-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 45px #52100018
}

.promo-image {
    aspect-ratio: 1/1;
    background-image: url('/assets/promo-sprite.png');
    background-size: 300% 200%;
    background-position: calc(var(--pcol)*50%) calc(var(--prow)*100%);
    background-repeat: no-repeat
}

.promo-card-copy {
    padding: 27px
}

.promo-card-copy>span,
.promo-valid {
    display: inline-block;
    color: var(--red);
    font-weight: 800;
    font-size: .76rem;
    text-transform: uppercase;
    letter-spacing: .09em
}

.promo-card h2 {
    font-size: 1.55rem;
    line-height: 1.2;
    margin: 13px 0
}

.promo-card p {
    color: var(--muted);
    line-height: 1.65;
    min-height: 80px
}

.promo-card a {
    display: inline-flex;
    color: var(--red);
    font-weight: 800;
    border-bottom: 1px solid #e0a2a3;
    padding-bottom: 4px
}

.promo-pagination {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 44px
}

.promo-pagination button {
    min-width: 46px;
    height: 46px;
    padding: 0 15px;
    border: 1px solid #d7c5bd;
    background: #fff;
    border-radius: 4px;
    font: 700 .95rem Onest, sans-serif
}

.promo-pagination .active {
    background: var(--red);
    color: #fff;
    border-color: var(--red)
}

.promo-pagination button:disabled {
    opacity: .48
}

.promo-detail-hero {
    padding: 45px 0
}

.promo-detail-hero a {
    color: var(--gold)
}

.promo-detail-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 70px;
    align-items: center
}

.promo-image-large {
    width: 100%;
    border: 9px solid #fff;
    box-shadow: 0 25px 55px #46100025
}

.promo-detail h1 {
    font-size: clamp(2.8rem, 5vw, 5.1rem);
    line-height: 1;
    margin: 16px 0 24px
}

.promo-detail p {
    color: var(--muted);
    line-height: 1.8;
    font-size: 1.06rem
}

.promo-terms {
    font-size: .88rem !important;
    border-left: 3px solid var(--gold);
    padding-left: 16px;
    margin: 25px 0 32px
}

.promo-detail .btn {
    width: max-content
}

@media(max-width:1050px) {

    .dropdown,
    .dropdown.right {
        background: #080302
    }

    .dropdown a {
        color: #fff
    }

    .dropdown a:hover {
        background: var(--red);
        color: #fff
    }
}

@media(max-width:900px) {
    .promo-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .promo-detail-grid {
        gap: 40px
    }
}

@media(max-width:620px) {

    .promo-grid,
    .promo-detail-grid {
        grid-template-columns: 1fr
    }

    .promo-card p {
        min-height: 0
    }

    .promo-detail {
        padding-top: 50px
    }
}