.he-rank-card {
    position: relative;
    isolation: isolate;
    width: 100%;
    height: auto;
    display:block;
}

/*.he-rank-card .he-rc-wrap {*/

/*    aspect-ratio: 1000 / 380;*/
/*}*/

@media (min-width: 1024px) {
    .he-rank-card .he-rc-wrap {
        aspect-ratio: 1000 / 380;
    }
}

.he-rank-card .he-rc-wrap {
    position: relative;
    display: grid;
    grid-template-columns:1fr;
    align-items: stretch;
    /*max-width: 1400px;*/
    margin-inline: auto;
}

.he-rank-card.alignfull .he-rc-wrap {
    max-width: 100%
}

@media (min-width: 1024px) {
    .he-rank-card .he-rc-wrap {
        grid-template-columns:minmax(0, 0.5fr) minmax(0, 0.5fr)
    }
}

/* Left media */
.he-rank-card .he-rc-media {
    /*position: relative;*/
    /*overflow: hidden;*/
    /*background: #000;*/
    /*min-height: 200px;*/
    z-index: 1;
    width:100%;
    height:auto;
}

@media (min-width: 1024px) {
    .he-rank-card .he-rc-media {
        min-height: 300px;
        width:auto;
        height:auto;
    }
}

.he-rank-card .he-rc-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-top-right-radius: 58% 190%;
    border-bottom-right-radius: 58% 190%;
    aspect-ratio: 16 / 9;
}

/* SVG wash overlay (from PDF), replaces old gradient pseudo-element */
.he-rank-card .he-rc-overlay {
    position: absolute;
    inset: 0;
    mix-blend-mode: multiply;
    opacity: .99;
    color: var(--rc-accent, #E6007D);
    pointer-events: none;
}

.he-rank-card .he-rc-overlay svg {
    width: 100%;
    height: 100%;
    display: block
}

/* Big curved divider stroke (SVG version) */
.he-rank-card .he-rc-ring {
    /*--svg-stroke: 106.67px;*/
    /*z-index:200;*/
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    /*aspect-ratio: 523 / 2774;*/
    /*transform: translateY(-50%);*/
    pointer-events: none;
    z-index: 0;
}

.he-rank-card .he-rc-ring {
    /*z-index:200;*/
}

.he-rank-card .he-rc-ring svg {
    display: block;
    width: 100%;
    height: 100%;

}

/* Right content */
.he-rank-card .he-rc-content {
    position: relative;
    background: var(--rc-bg, #141414);
    background-size: cover;
    background-position: center;
    padding: clamp(22px, 3vw, 54px);
    display: flex;
    gap: clamp(16px, 2vw, 28px);
    align-items: center;
    justify-content: space-between;
    z-index: 0;
}

@media (min-width: 1024px) {
    .he-rank-card .he-rc-content {
        min-height: 380px
    }
}

/* Typography */
.he-rank-card .he-rc-title {
    margin: 0 0 .75rem 0;
    font-size: 1.7em;
    line-height: 1;
    font-weight: 800;
    color: var(--rc-title, #E6007D);
    letter-spacing: -0.02em;
    display: flex;
    gap: .35ch;
    flex-wrap: wrap;
}

.he-rank-card .he-rc-text {
    margin: 0;
    color: var(--rc-text, #cfbb79);
    font-size: 0.9em;
    line-height: 1.75;
    /*max-width: 42ch;*/
}


@media (min-width: 1024px) {
    .he-rank-card .he-rc-title {

        font-size: 2em;
        line-height: 1;

    }

    .he-rank-card .he-rc-text {

        font-size: 1em;
        line-height: 1.5;

        /*max-width: 42ch;*/
    }
}

/* Arrow button */
.he-rank-card .he-rc-arrow {
    flex: 0 0 auto;
    width: clamp(52px, 4.5vw, 74px);
    height: clamp(52px, 4.5vw, 74px);
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: var(--rc-accent, #E6007D);
    color: #cfbb79; /* arrow color, matches PDF */
    text-decoration: none;
    box-shadow: 0 10px 25px rgba(0, 0, 0, .35);
    transition: transform .15s ease, filter .15s ease;
}

.he-rank-card .he-rc-arrow:hover {
    transform: translateY(-1px)
}

.he-rank-card .he-rc-arrow:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 4px
}

/* Mobile spacing */
/*@media (max-width: 1023px) {*/
/*    .he-rank-card .he-rc-content {*/
/*        !*justify-content: flex-start*!*/
/*    }*/

/*    .he-rank-card .he-rc-arrow {*/
/*        !*margin-left: auto*!*/
/*    }*/

/*    .he-rank-card .he-rc-ring {*/
/*        !*right: calc(var(--svg-stroke) / -2);*!*/
/*    }*/
/*}*/

/* Background image element for right content (replaces CSS background-image) */
.he-rank-card .he-rc-content .he-rc-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    /*z-index:2;*/
}

@media (min-width: 1024px) {
    .he-rank-card .he-rc-content .he-rc-bg {
        left: -300px;
    }
}

.he-rank-card .he-rc-content .he-rc-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.he-rank-card .he-rc-content .he-rc-body,
.he-rank-card .he-rc-content .he-rc-arrow {
    position: relative;
    z-index: 1;
}

/* Interactivity fixes and arrow animation */
.he-rank-card .he-rc-arrow {
    cursor: pointer
}

.he-rank-card .he-rc-arrow svg {
    transition: transform .25s ease;
    will-change: transform
}

.he-rank-card .he-rc-arrow:hover svg,
.he-rank-card .he-rc-arrow:focus-visible svg {
    transform: translateX(6%)
}

@media (prefers-reduced-motion: reduce) {
    .he-rank-card .he-rc-arrow {
        transition: none
    }

    .he-rank-card .he-rc-arrow svg {
        transition: none
    }
}
