/* Ridley faces are supplied by the existing signup header's fonts.css. */
.pricing-split {
    --pricing-bg: #f4f4f8; --pricing-ink: #0d0e1f; --pricing-muted: #9898b4;
    --pricing-blue: #00a7ce; --pricing-green: #ccff00; --pricing-pink: #ff1b6d;
    --pricing-promo-blue: #1900da; --pricing-promo-pink: #ff3362; --pricing-ticket-gold: #f5d58a;
    background: var(--pricing-bg); color: var(--pricing-ink); min-height: calc(100vh - 110px);
    font-family: 'Ridley Grotesk', sans-serif; padding: 2rem 6vw 140px;
    -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
}
.pricing-split * { box-sizing: border-box; }
.pricing-split span { font: inherit; color: inherit; letter-spacing: inherit; }
/* Keep the spanning image from adding empty space above shorter card lists. */
.pricing-split__layout { max-width: 1202px; margin: auto; display: grid; grid-template-columns: minmax(0, 572px) minmax(0, 467px); grid-template-rows: min-content 1fr; column-gap: 115px; align-items: start; }
.pricing-split__heading { grid-area: 1 / 2; margin: 16px 0 42px; }
.pricing-split__heading p { color: var(--pricing-pink); font-size: .625rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; margin: 0 0 .75rem; }
.pricing-split__heading h1 { font: 800 clamp(1.625rem, 5vw, 2.75rem)/.98 'Ridley Grotesk', sans-serif; color: var(--pricing-ink); letter-spacing: -.025em; text-transform: uppercase; text-align: left; margin: 0; }
.pricing-split__media { grid-area: 1 / 1 / span 2; padding-top: 16px; }
.pricing-split__hero { aspect-ratio: 572.34 / 516.59; border-radius: 50px; position: relative; overflow: hidden; background: #00a7ce; }
.pricing-split__hero img { position: absolute; max-width: none; width: 371.63%; height: 110.14%; top: -2.32%; left: -127.2%; object-fit: fill; }
#subscribe-step-term_length .pricing-split__hero img { width: 388.64%; height: 113.53%; top: -11.67%; left: -141.07%; }
.pricing-split__options { grid-area: 2 / 2; }
.pricing-split__choices { display: flex; flex-direction: column; gap: 26px; }
.pricing-split .pricing-split__disclosure { font-size: 11px; font-weight: 400; line-height: 1.6; color: #6b6b8a; margin: 20px 0 0; }
.pricing-choice { position: relative; border-radius: 13px; background: #e9e9ed; border: 2px solid transparent; }
.pricing-choice.is-selected { background: var(--pricing-blue); border-color: var(--pricing-green); color: white; }
/* Keep the site's fixed-height form buttons from constraining multi-line cards. */
.pricing-split .pricing-choice__select { cursor: pointer; padding: 20px 22px; border: 0; background: transparent; display: flex; align-items: center; justify-content: space-between; gap: 12px; text-align: left; width: 100%; height: auto; min-height: 0; min-width: 0; -webkit-appearance: none; appearance: none; color: inherit; font-family: inherit; }
.pricing-choice__select:disabled { opacity: .55; cursor: not-allowed; }
.pricing-split .pricing-choice__name, .pricing-split .pricing-choice__price { display: block; font-size: 1.5rem; font-weight: 800; line-height: 1.1; }
.pricing-split .pricing-choice__sub, .pricing-split .pricing-choice__price-label { display: block; color: var(--pricing-muted); font-size: 12px; line-height: 1.6; text-transform: uppercase; margin-top: 4px; }
.pricing-split .pricing-choice__price-label { font-size: 9px; }
.pricing-choice.is-selected .pricing-choice__sub { color: var(--pricing-green); }
.pricing-choice.is-selected .pricing-choice__price-label { color: #fff; }
.pricing-choice__amount { text-align: right; flex-shrink: 0; }
.pricing-choice__amount del { display: inline-block; font-size: 16px; color: var(--pricing-muted); margin-right: 5px; }
.pricing-choice__amount del + .pricing-choice__price { display: inline-block; }
.pricing-choice.is-selected .pricing-choice__amount del { color: white; }
.pricing-split .pricing-choice__badge { position: absolute; top: -10px; right: 20px; border-radius: 999px; background: var(--pricing-green); color: var(--pricing-ink); padding: .28rem .65rem; font-size: .5625rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.pricing-choice__benefit { display: flex; gap: 6px; align-items: center; min-height: 28px; padding: 2px 18px; color: white; background: #b1b1cf; font-size: 10px; font-weight: 600; line-height: 14px; text-transform: uppercase; }
.pricing-choice__benefit:last-child { border-radius: 0 0 10px 10px; }
.pricing-choice__benefit--gift { background: #c1c1dd; }
.pricing-choice__benefit--ticket { background: var(--pricing-muted); }
.pricing-choice.is-selected .pricing-choice__benefit { background: var(--pricing-promo-blue); }
.pricing-choice.is-selected .pricing-choice__benefit--gift { background: var(--pricing-promo-pink); }
.pricing-choice.is-selected .pricing-choice__benefit--ticket { background: var(--pricing-ink); color: var(--pricing-ticket-gold); }
.pricing-split .pricing-choice__benefit-text { min-width: 0; overflow-wrap: anywhere; }
.pricing-split .pricing-choice__benefit-label { display: inline-flex; align-items: center; justify-content: center; margin-left: auto; flex-shrink: 0; height: 14px; white-space: nowrap; font-size: 6px; font-weight: 800; line-height: 1; letter-spacing: .2em; border: 1px solid white; border-radius: 999px; padding: 0 5px; }
.pricing-choice.is-selected .pricing-choice__benefit-label { background: white; color: var(--pricing-promo-blue); }
.pricing-choice.is-selected .pricing-choice__benefit--gift .pricing-choice__benefit-label { color: var(--pricing-promo-pink); }
.pricing-choice.is-selected .pricing-choice__benefit--ticket .pricing-choice__benefit-label { background: var(--pricing-ticket-gold); border-color: var(--pricing-ticket-gold); color: var(--pricing-ink); }
/* Layer the original Figma icon variants so selection never reloads their images. */
.pricing-choice__check { display: inline-grid; place-items: center; flex: 0 0 auto; }
.pricing-split .pricing-choice__info { display: inline-grid; place-items: center; flex: 0 0 24px; width: 24px; height: 24px; min-width: 0; min-height: 0; padding: 0; line-height: 1; background: transparent; border: 0; -webkit-appearance: none; appearance: none; cursor: pointer; }
.pricing-choice__check img, .pricing-choice__info img { display: block; grid-area: 1 / 1; max-width: none; }
.pricing-choice__icon-selected { opacity: 0; }
.pricing-choice.is-selected .pricing-choice__icon-selected { opacity: 1; }
.pricing-choice.is-selected .pricing-choice__info img:first-child,
.pricing-choice.is-selected .pricing-choice__benefit--ticket .pricing-choice__check img:first-child { opacity: 0; }
.pricing-split-info { border: 0; border-radius: 20px; padding: 28px; max-width: min(460px, 85vw); color: #0d0e1f; font-family: 'Ridley Grotesk', sans-serif; }
/* Closed state must override both the global reset and rich-dialog variants. */
dialog.pricing-split-info:not([open]) { display: none !important; }
.pricing-split-info::backdrop { background: rgb(13 14 31 / 60%); }
.pricing-split-info h2 { font-size: 1.25rem; font-weight: 800; line-height: 1.1; letter-spacing: -.02em; text-transform: uppercase; }
.pricing-split-info p { font-size: .875rem; font-weight: 500; line-height: 1.55; color: #6b6b8a; }
.pricing-split-info button { height: auto; padding: 12px 24px; border-radius: 999px; border: 2px solid #000; background: #ccff00; color: #000; font: 800 11px/1.2 'Ridley Grotesk', sans-serif; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.pricing-split-info [hidden] { display: none !important; }
.pricing-split-info:not(.is-ticket) { display: flex; flex-direction: column; }
.pricing-split-info:not(.is-ticket) .pricing-split-info__close { order: 1; align-self: start; }
body.pricing-info-open { overflow: hidden; }
dialog.pricing-split-info.is-ticket { width: 537.631px; max-width: calc(100vw - 32px); max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); margin: auto; padding: 0; border-radius: 39.532px; overflow: hidden; background: #0d0e1f; color: white; }
.pricing-split-info.is-ticket::backdrop { background: rgb(0 0 0 / 85%); }
.pricing-ticket { max-height: inherit; overflow-y: auto; overscroll-behavior: contain; border-radius: inherit; }
.pricing-ticket *, .pricing-split-info.is-ticket .pricing-split-info__close { box-sizing: border-box; }
.pricing-ticket__hero { position: relative; width: 100%; aspect-ratio: 537.631 / 221.377; overflow: hidden; background: #36200e; }
/* Preserve Figma's crop/deskew matrix without altering the original image. */
.pricing-ticket__hero img { position: absolute; width: 100%; height: 100%; max-width: none; left: -6.326084%; top: -55.884156%; transform-origin: 0 0; transform: matrix(1.1816404, .0848084, -.1373089, 1.9131322, 0, 0); }
.pricing-ticket__content { display: flex; flex-direction: column; gap: 30.504px; padding: 35.13px 13.15% 28px; }
.pricing-split-info .pricing-ticket__heading { margin: 0; padding: 0; container-type: inline-size; }
.pricing-split-info .pricing-ticket__heading p { margin: 0 0 19.5px; color: #9898b4; font-size: 12.387px; font-weight: 700; line-height: 1; letter-spacing: .12em !important; text-transform: uppercase; text-align: left; }
.pricing-split-info .pricing-ticket__heading h2 { margin: 0; color: #f5d58a; font-size: 36.143px; font-weight: 700; line-height: 1; letter-spacing: -.02em !important; text-align: center; }
.pricing-ticket__benefits { display: flex; flex-direction: column; gap: 42.92px; list-style: none; margin: 0; padding: 38.402px 11.68%; border: 1px solid #f5d58a; border-radius: 16.942px; }
.pricing-ticket__benefits li { display: grid; grid-template-columns: 41.819px minmax(0, 1fr); column-gap: 32px; align-items: center; margin: 0; padding: 0; }
.pricing-ticket__benefits picture { display: flex; align-items: center; justify-content: center; }
.pricing-ticket__benefits img, .pricing-split-info__close-icon img { display: block; max-width: none; }
.pricing-split-info .pricing-ticket__benefits p { margin: 0; color: white; font-size: 14.575px; font-weight: 600; line-height: 19.78px; text-transform: uppercase; }
.pricing-ticket__details { text-align: center; }
.pricing-split-info .pricing-ticket__details p { margin: 0; color: rgb(255 255 255 / 82%); font-size: 14.683px; font-weight: 400; line-height: 29.366px; }
.pricing-split-info .pricing-ticket__details .pricing-ticket__terms { margin: 9px 0 0; color: #f5d58a; font-size: 9.706px; line-height: 1.8; }
.pricing-ticket__terms a { color: inherit; font: inherit; letter-spacing: inherit; text-decoration: underline; }
.pricing-split-info.is-ticket .pricing-split-info__close { position: absolute; z-index: 1; top: 22px; right: 26px; display: grid; place-items: center; width: 44px; height: 44px; min-width: 0; min-height: 0; padding: 0; background: transparent; border: 0; -webkit-appearance: none; appearance: none; }
.pricing-split-info.is-ticket .pricing-split-info__close-text { display: none; }
.pricing-split-info.is-ticket button:focus, .pricing-ticket a:focus-visible { outline: 2px solid #f5d58a; outline-offset: 3px; }
dialog.pricing-split-info.is-gift { display: block; width: 537.63px; max-width: calc(100vw - 32px); max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); margin: auto; padding: 0; border-radius: 39.532px; overflow: hidden; background: #ff3362; }
.pricing-split-info.is-gift::backdrop { background: rgb(0 0 0 / 85%); }
.pricing-split-info__gift { max-height: inherit; overflow-y: auto; overscroll-behavior: contain; border-radius: inherit; }
.pricing-split-info__gift * { box-sizing: border-box; }
.pricing-gift__media { aspect-ratio: 537.63 / 221.377; background: #00a7ce; overflow: hidden; }
.pricing-gift__media video, .pricing-gift__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.pricing-gift__content { padding: 57.32px 13.03% 73px; min-height: 598.62px; display: flex; flex-direction: column; }
.pricing-split-info .pricing-gift__eyebrow { color: #beff00; margin: 0 0 21.057px; font-size: 12.39px; font-weight: 700; line-height: 1; letter-spacing: .12em !important; text-transform: uppercase; }
.pricing-split-info .pricing-gift__content h2 { color: #ede7db; font-size: 36.14px; font-weight: 700; line-height: 1; text-align: left; margin: 0 -6% 29.728px 0; overflow-wrap: anywhere; }
.pricing-split-info .pricing-gift__content h2 span { font: inherit; color: inherit; letter-spacing: inherit; }
.pricing-split-info .pricing-gift__content h2 .pricing-gift__highlight { color: #beff00; }
.pricing-split-info .pricing-gift__copy { color: white; margin: 0; font-size: 14.68px; font-weight: 400; line-height: 29.366px; white-space: pre-line; }
.pricing-split-info .pricing-gift__features { margin: 16px 0 0; padding-left: 18px; font-size: 13px; font-weight: 400; line-height: 1.7; color: white; }
.pricing-gift__metrics { margin-top: auto; padding-top: 68px; }
.pricing-gift__divider { display: block; overflow: hidden; margin-bottom: 38.76px; }
.pricing-gift__divider img, .pricing-gift__close-icon img { display: block; max-width: none; }
.pricing-split-info .pricing-gift__value { color: rgb(255 255 255 / 82%); margin: 0 0 8px; font-size: 13.49px; font-weight: 600; line-height: 1.6; text-transform: uppercase; }
.pricing-split-info .pricing-gift__free { color: #beff00; margin: 0; font-size: 44.37px; font-weight: 700; line-height: 1; text-transform: uppercase; overflow-wrap: anywhere; }
.pricing-split-info.is-gift .pricing-split-info__close { position: absolute; z-index: 1; top: 22px; right: 26px; display: grid; place-items: center; width: 44px; height: 44px; min-width: 0; min-height: 0; padding: 0; background: transparent; border: 0; -webkit-appearance: none; appearance: none; }
.pricing-split-info.is-gift .pricing-split-info__close-text { display: none; }
.pricing-gift__close-icon { transform: scale(1.3865); }
.pricing-split-info.is-gift button:focus { outline: 2px solid #beff00; outline-offset: 3px; }
@media (max-width: 767px) {
    dialog.pricing-split-info.is-ticket { width: 387.754px; border-radius: 28.511px; }
    .pricing-ticket__content { gap: 22px; padding-top: 25.336px; padding-bottom: 24px; }
    .pricing-split-info .pricing-ticket__heading p { font-size: 8.934px; margin-bottom: 14px; }
    .pricing-split-info .pricing-ticket__heading h2 { font-size: clamp(18px, 6.1vw, 26.068px); }
    .pricing-ticket__benefits { gap: 30.955px; padding: 27.697px 11.68%; border-radius: 12.219px; }
    .pricing-ticket__benefits li { grid-template-columns: 30.161px minmax(0, 1fr); column-gap: clamp(12px, 5vw, 26.068px); }
    .pricing-split-info .pricing-ticket__benefits p { font-size: 10.512px; line-height: 14.266px; }
    .pricing-split-info .pricing-ticket__details p { font-size: 10.59px; line-height: 21.18px; }
    .pricing-split-info .pricing-ticket__details .pricing-ticket__terms { font-size: 7px; margin-top: 6px; }
    .pricing-split-info.is-ticket .pricing-split-info__close { top: 10px; right: 12px; }
    dialog.pricing-split-info.is-gift { width: 387.754px; border-radius: 28.511px; }
    .pricing-gift__content { padding-top: 41.346px; padding-bottom: 52px; min-height: 431.743px; }
    .pricing-split-info .pricing-gift__eyebrow { font-size: 8.934px; margin-bottom: 15.187px; }
    .pricing-split-info .pricing-gift__content h2 { font-size: clamp(18px, 6.1vw, 26.068px); margin-bottom: 21.441px; }
    .pricing-split-info .pricing-gift__copy { font-size: 10.59px; line-height: 21.18px; }
    .pricing-split-info .pricing-gift__features { font-size: 10px; }
    .pricing-gift__metrics { padding-top: 49px; }
    .pricing-gift__divider { margin-bottom: 27.96px; }
    /* Keep Figma's displayed geometry; WebKit needs a >=1px intrinsic SVG canvas. */
    .pricing-gift__divider img { width: 286.77px; height: .893364px; }
    .pricing-split-info .pricing-gift__value { font-size: 9.732px; margin-bottom: 6px; }
    .pricing-split-info .pricing-gift__free { font-size: clamp(24px, 8.25vw, 32px); }
    .pricing-split-info.is-gift .pricing-split-info__close { top: 10px; right: 12px; }
    .pricing-gift__close-icon { transform: none; }
}
.pricing-split__guarantee { grid-area: 3 / 1; display: flex; align-items: center; gap: 14px; margin-top: 40px; }
@supports (font-size: 1cqi) {
    /* Account for classic scrollbars as well as overlay scrollbars. */
    .pricing-split-info .pricing-ticket__heading h2 { font-size: 9cqi; white-space: nowrap; }
}
.pricing-split__guarantee img { flex: 0 0 auto; }
.pricing-split__guarantee strong { font-size: .8rem; font-weight: 800; letter-spacing: .1em; line-height: 1.1; text-transform: uppercase; }
.pricing-split__guarantee p { font-size: .85rem; font-weight: 500; line-height: 1.45; color: #6b6b8a; margin: .35rem 0 0; }
.pricing-split__footer { position: fixed; bottom: 0; left: 0; width: 100%; z-index: 500; }
.pricing-split button:focus-visible, .pricing-split-info button:focus-visible { outline: 2px solid #1615f5; outline-offset: 3px; }
.pricing-split__error { grid-column: 1 / -1; color: #b51532; padding: 16px; }
@media (max-width: 767px) {
    .pricing-split { padding: 2rem 0 110px; }
    .pricing-split__layout { width: calc(100% - 48px); max-width: 420px; display: flex; flex-direction: column; gap: 24px; }
    .pricing-split__heading { margin: 0; width: 100%; }
    .pricing-split__hero { width: 100%; border-radius: 16px; }
    .pricing-split__media { display: contents; padding-top: 0; }
    .pricing-split__options { width: 100%; }
    .pricing-split__choices { width: 100%; gap: 20px; }
    .pricing-choice { border-radius: 10px; }
    .pricing-split .pricing-choice__select { padding: 15px 16px; }
    .pricing-split .pricing-choice__sub { font-size: 10px; }
    .pricing-split .pricing-choice__price-label { font-size: 8px; }
    .pricing-choice__benefit { padding: 2px 10px; font-size: 9px; }
    .pricing-split__guarantee { margin: 8px 0 0; gap: 10px; order: 4; }
}
@media (prefers-reduced-motion: no-preference) {
    /* Match the neighboring Upgrades step's 18px rise, .5s ease and 70ms stagger. */
    .pricing-split[data-visible="true"] .pricing-split__heading,
    .pricing-split[data-visible="true"] .pricing-split__hero,
    .pricing-split[data-visible="true"] .pricing-choice,
    .pricing-split[data-visible="true"] .pricing-split__disclosure,
    .pricing-split[data-visible="true"] .pricing-split__guarantee {
        animation: pricing-step-populate .5s ease backwards;
    }
    .pricing-split[data-visible="true"] .pricing-split__hero { animation-delay: .07s; }
    .pricing-split[data-visible="true"] .pricing-choice:nth-child(1) { animation-delay: .14s; }
    .pricing-split[data-visible="true"] .pricing-choice:nth-child(2) { animation-delay: .21s; }
    .pricing-split[data-visible="true"] .pricing-choice:nth-child(3) { animation-delay: .28s; }
    .pricing-split[data-visible="true"] .pricing-split__disclosure { animation-delay: .35s; }
    .pricing-split[data-visible="true"] .pricing-split__guarantee { animation-delay: .42s; }
    .pricing-choice { transition: background-color .15s ease; }
    .pricing-split__hero img.is-animated { transition: left .28s ease; }
    @supports (transition-timing-function: linear(0, 1)) {
        /* Approximate Figma's 1.022s Gentle spring: m=1, k=100, c=15, sampled at 64 intervals. */
        .pricing-split__hero img.is-animated {
            transition-duration: 1.022094s;
            transition-timing-function: linear(
                0, .011768, .043394, .089933, .147155, .211488, .279963, .350147,
                .420088, .488254, .553481, .614919, .671985, .724318, .771742, .814229,
                .851871, .884846, .913403, .937837, .958472, .975652, .989723, 1.001029,
                1.009904, 1.016664, 1.021606, 1.025007, 1.027118, 1.028165, 1.028352, 1.027857,
                1.026837, 1.025427, 1.023742, 1.021879, 1.019917, 1.017922, 1.015947, 1.014032,
                1.012207, 1.010494, 1.008909, 1.00746, 1.006151, 1.004981, 1.003948, 1.003046,
                1.002267, 1.001602, 1.001043, 1.000579, 1.000201, .999899, .999664, .999486,
                .999358, .999272, .99922, .999197, .999197, .999216, .999248, .99929, 1
            );
        }
    }
}
@keyframes pricing-step-populate {
    from { opacity: 0; transform: translateY(18px); }
    to { opacity: 1; transform: none; }
}
.pricing-assignment-pending #subscribe-step-term,
.pricing-assignment-pending #subscribe-step-box_size,
.pricing-assignment-pending #subscribe-step-term_length,
.pricing-assignment-pending #subscribe-step-addon,
.pricing-assignment-pending #subscribe-step-new-to-this-interstitial,
.pricing-assignment-pending #subscribe-step-checkout {
    display: none !important;
}

.pricing-split-assignment {
    max-width: 52rem;
    margin: 2rem auto;
    padding: 1rem;
    text-align: center;
}
