#pro2Body {
    --pro2-ink: #101010;
    --pro2-muted: #626262;
    --pro2-line: #dededb;
    --pro2-panel: #f2f2f0;
    --pro2-paper: #ffffff;
    --pro2-blue: #113f78;
    --pro2-coral: #ef4d32;
    --pro2-gold: #ffc541;
    --pro2-purple: #c58bd2;
    --pro2-spectrum: linear-gradient(115deg, #153f7a 0%, #2c6fb0 18%, #ef4d32 39%, #ffc541 56%, #d8d39e 72%, #c58bd2 86%, #214e83 100%);
    margin: 0;
    background: #e2e2e2;
    color: var(--pro2-ink);
    overflow-x: clip;
}

#pro2Body #header {
    position: sticky;
    top: 0;
    z-index: 20;
    min-height: 72px;
    padding: 10px max(24px, calc((100vw - 1180px) / 2));
    box-sizing: border-box;
    border-bottom: solid 1px var(--pro2-line);
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(14px);
}

#pro2Body #headerLogo {
    width: 44px;
}

#pro2Body #headerName {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.1rem;
    letter-spacing: -0.03em;
}

#pro2Body .headerLink,
#pro2Body .headerLinkPro {
    border-bottom: solid 1px transparent;
    font-size: 0.9rem;
}

#pro2Body .activeHeaderLink,
#pro2Body .activeHeaderLink:active,
#pro2Body .activeHeaderLink:focus,
#pro2Body .activeHeaderLink:hover,
#pro2Body .headerLink:hover,
#pro2Body .headerLink:focus,
#pro2Body .headerLink:active {
    border-bottom: solid 1px var(--pro2-blue);
    color: var(--pro2-blue);
    font-size: 0.9rem;
}

#pro2Body #signupHeaderLink {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0 18px;
    border: solid 1px var(--pro2-ink);
    border-radius: 0;
    background: var(--pro2-ink);
    color: white;
}

#pro2Body #signupHeaderLink:hover,
#pro2Body #signupHeaderLink:focus,
#pro2Body #signupHeaderLink:active {
    border: solid 1px var(--pro2-blue);
    background: var(--pro2-blue);
    color: white;
}

#pro2Body main {
    position: relative;
    z-index: 1;
}

#pro2Body #errorMsgWrapper {
    position: sticky;
    top: 72px;
    z-index: 19;
}

#outerWrapper {
    display: grid;
    grid-template-columns: minmax(500px, 4fr) minmax(600px, 5fr);
    align-items: start;
    gap: 20px;
    width: min(1304px, calc(100vw - 40px));
    margin: 0 auto;
    padding: 40px 0;
    background: var(--pro2-paper);
    box-shadow: 0 0 0 40px var(--pro2-paper);
}

#outerWrapper p,
#outerWrapper h1,
#outerWrapper h2,
#outerWrapper h3 {
    padding: 0;
    margin: 0;
}

#leftPanel {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    border: solid 1px var(--pro2-line);
    background: var(--pro2-paper);
    overflow: hidden;
}

.pro2HeroIntro {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 20px;
    box-sizing: border-box;
}

.pro2DecorativeMark {
    display: none;
}

#leftPanelTitle,
#rightPanelTitle {
    font-family: Georgia, "Times New Roman", serif;
    font-weight: normal;
    letter-spacing: -0.05em;
}

#leftPanelTitle {
    max-width: none;
    font-size: 1.4rem;
    line-height: 1.2;
}

#signupFlowHint {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 28px;
    padding: 10px 12px;
    border: solid 1px var(--pro2-line);
    background: var(--pro2-panel);
    color: var(--pro2-muted);
    font-size: 0.8rem;
}

.signupFlowStep {
    font-weight: bold;
}

.signupFlowArrow {
    color: var(--pro2-blue);
}

.pro2PricingArea {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 20px;
    box-sizing: border-box;
    background: var(--pro2-spectrum);
    overflow: hidden;
}

.pro2PricingArea::before,
.pro2PricingArea::after {
    content: "";
    position: absolute;
    width: 210px;
    height: 210px;
    border: solid 1px rgba(255, 255, 255, 0.38);
    pointer-events: none;
}

.pro2PricingArea::before {
    background: black;
}

.pro2PricingArea::before {
    top: -124px;
    right: -72px;
    transform: rotate(22deg);
}

.pro2PricingArea::after {
    bottom: -138px;
    left: -84px;
    transform: rotate(-20deg);
}

.pro2PricingArea > * {
    position: relative;
    z-index: 1;
}

#planBubblesWrapper {
    display: grid;
    grid-template-columns: minmax(190px, 0.8fr) minmax(250px, 1.2fr);
    gap: 8px;
    align-items: stretch;
}

#planBubblesWrapper.pro2SinglePlan {
    grid-template-columns: minmax(280px, 460px);
    justify-content: center;
}

.planBubble {
    position: relative;
    display: grid;
    grid-template-rows: min-content auto;
    align-content: start;
    min-width: 0;
    min-height: 330px;
    padding: 32px 26px 28px;
    box-sizing: border-box;
    background: rgba(246, 246, 243, 0.93);
    color: var(--pro2-ink);
}

#proBubble {
    background: rgba(255, 255, 255, 0.97);
}

.featuredPlanBubble {
    padding-top: 40px;
}

.planBubbleIcon {
    position: absolute;
    top: 0;
    right: 20px;
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    background: var(--pro2-spectrum);
    transform: translateY(-14px) rotate(5deg);
}

.planBubbleIcon img {
    display: block;
    width: 27px;
    filter: grayscale(1) brightness(0) invert(1);
}

.planBubbleHeader {
    display: grid;
    gap: 10px;
}

.planBubbleTitle {
    color: var(--pro2-ink);
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1.2;
}

.planBubbleKicker {
    margin-bottom: 6px !important;
    font-size: 0.8rem;
    font-weight: bold;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.proTitleAndPriceWrapper {
    display: grid;
    gap: 10px;
}

.planBubblePrice {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 3.2rem;
    line-height: 1;
    letter-spacing: -0.05em;
}

.proPriceWithoutAffiliate {
    margin-top: 1px !important;
    color: var(--pro2-muted);
    font-size: 0.8rem;
}

.strikethroughPrice {
    text-decoration: line-through;
    text-decoration-thickness: 2px;
}

.planBubble ul {
    display: grid;
    align-content: start;
    gap: 12px;
    margin: 28px 0 0;
    padding: 0;
    list-style: none;
}

.planBubble li {
    position: relative;
    padding-left: 24px;
    font-size: 0.9rem;
    line-height: 1.35;
}

.planBubble li::before {
    content: "";
    position: absolute;
    top: 5px;
    left: 0;
    width: 12px;
    height: 7px;
    border-left: solid 2px var(--pro2-blue);
    border-bottom: solid 2px var(--pro2-blue);
    transform: rotate(-45deg);
}

#affiliateDiscountBox,
#specialProDiscountBox,
#specialProDiscountExpiredNotice,
#priceIncreasingBox {
    box-sizing: border-box;
    border: solid 1px rgba(255, 255, 255, 0.56);
    background: rgba(255, 255, 255, 0.9);
    color: var(--pro2-ink);
}

#affiliateDiscountBox {
    margin-top: 16px;
    padding: 18px;
}

#affiliateDiscountBadge,
#specialProDiscountBadge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    max-width: 100%;
    padding: 5px 9px !important;
    box-sizing: border-box;
    background: var(--pro2-ink);
    color: white;
    font-size: 0.8rem;
    font-weight: bold;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

#affiliateDiscountMessage {
    margin-top: 10px !important;
    font-size: 0.9rem;
    font-weight: bold;
}

#affiliateDiscountPriceSummary,
#specialProDiscountPriceSummary {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 16px;
    margin-top: 10px !important;
    font-size: 0.9rem;
}

.affiliateRegularPrice {
    color: var(--pro2-muted);
}

.affiliateCurrentPrice {
    color: var(--pro2-blue);
    font-weight: bold;
}

#specialProDiscountRegularPrice {
    text-decoration: line-through;
    text-decoration-thickness: 2px;
}

#specialProDiscountBox {
    position: relative;
    margin-top: 28px;
    padding: 30px 22px 20px;
}

#specialProDiscountBadge {
    position: absolute;
    top: 0;
    left: 50%;
    white-space: nowrap;
    transform: translate(-50%, -50%);
}

#specialProDiscountCountdownLabelRow {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    color: var(--pro2-blue);
    font-size: 0.9rem;
    font-weight: bold;
}

#specialProDiscountCountdownLabelRow span:last-child {
    height: 1px;
    background: rgba(17, 63, 120, 0.28);
}

#specialProDiscountCountdown {
    display: grid;
    grid-template-columns: 64px min-content 64px min-content 64px min-content 64px;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-top: 12px !important;
}

.specialProDiscountTimeUnit {
    display: grid;
    place-items: center;
    align-content: center;
    min-height: 55px;
    border: solid 1px var(--pro2-line);
    background: var(--pro2-paper);
    line-height: 1;
}

.specialProDiscountTimeValue {
    color: var(--pro2-blue);
    font-size: 1.4rem;
    font-weight: bold;
}

.specialProDiscountTimeLabel {
    margin-top: 4px;
    color: var(--pro2-muted);
    font-size: 0.7rem;
}

.specialProDiscountCountdownSeparator {
    color: var(--pro2-blue);
    font-size: 1.4rem;
    font-weight: bold;
}

#specialProDiscountPriceSummary {
    justify-content: center;
    margin-top: 16px !important;
    padding-top: 14px !important;
    border-top: solid 1px rgba(17, 63, 120, 0.2);
}

#specialProDiscountExpiredNotice {
    display: none;
    margin-top: 16px !important;
    padding: 12px;
    color: var(--pro2-muted);
    font-size: 0.8rem;
    font-weight: bold;
    text-align: center;
}

#getProButton,
#getProButton2 {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 50px;
    margin-top: 16px;
    padding: 10px 18px;
    box-sizing: border-box;
    border: solid 1px white;
    border-radius: 0;
    background: white;
    color: var(--pro2-ink);
    font-size: 0.9rem;
    font-weight: bold;
    line-height: 1.25;
    text-align: center;
    white-space: normal;
}

#getProButton:hover,
#getProButton:focus,
#getProButton:active,
#getProButton2:hover,
#getProButton2:focus,
#getProButton2:active {
    border: solid 1px var(--pro2-ink);
    background: var(--pro2-ink);
    color: white;
    font-size: 0.9rem;
}

.pro2PricingArea #getProButton {
    border: solid 1px var(--pro2-ink);
    background: var(--pro2-ink);
    color: white;
    text-shadow: none;
}

.pro2PricingArea #getProButton:hover,
.pro2PricingArea #getProButton:focus,
.pro2PricingArea #getProButton:active {
    border: solid 1px white;
    background: white;
    color: var(--pro2-ink);
    text-shadow: none;
}

#signupClarifier,
#signupClarifier2 {
    margin-top: 8px !important;
    color: rgba(16, 16, 16, 0.72);
    font-size: 0.8rem;
    text-align: center;
}

#priceIncreasingBox {
    margin-top: 16px;
    padding: 16px;
}

#priceIncreasingTitle {
    display: grid;
    grid-template-columns: min-content auto;
    align-items: center;
    gap: 7px;
}

#priceIncreasingTitle img {
    display: block;
    width: 18px;
}

#priceIncreasingTitle h3 {
    font-size: 0.9rem;
    font-weight: bold;
}

#priceIncreasingBox > p {
    margin-top: 7px !important;
    color: var(--pro2-muted);
    font-size: 0.8rem;
    line-height: 1.45;
}

#rightPanel {
    position: relative;
    padding: 20px;
    box-sizing: border-box;
    border: solid 1px var(--pro2-line);
    background: var(--pro2-paper);
    overflow: hidden;
}

#rightPanel::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: var(--pro2-spectrum);
}

#rightPanelTitle {
    max-width: none;
    font-size: 1.6rem;
    line-height: 1.2;
}

.pro2SectionLead {
    max-width: 720px;
    margin-top: 2px !important;
    color: var(--pro2-muted);
    font-size: 1rem;
}

.pro2FactGrid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
    margin-top: 20px;
}

.factSnippet {
    display: grid;
    grid-template-columns: 50px minmax(0, 1fr);
    align-items: start;
    gap: 12px;
    min-height: 0;
    padding: 12px;
    box-sizing: border-box;
    border: solid 1px var(--pro2-line);
    background: var(--pro2-panel);
}

.factSnippet:first-child {
    grid-column: auto;
    min-height: 0;
    padding: 12px;
    background: var(--pro2-panel);
}

.factIconWrapper {
    display: grid;
    place-items: center;
    width: 50px;
    height: 50px;
    background: white;
}

.factIconWrapper img {
    display: block;
    width: 28px;
    margin: 0;
    padding: 0;
    filter: grayscale(1) contrast(1.6);
}

.pro2FxIcon {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.5rem;
    font-style: italic;
    font-weight: bold;
}

.factSnippetContentSection h3 {
    margin-bottom: 4px !important;
    font-size: 1rem;
    font-weight: bold;
}

.factSnippetContentSection p {
    color: var(--pro2-muted);
    font-size: 0.9rem;
    line-height: 1.55;
}

.factSnippetContentSection .factSnippetStat {
    color: var(--pro2-ink);
    font-weight: bold;
}

.pro2SecondFact {
    margin-top: 16px;
}

.sourceLink,
.sourceLink:hover,
.sourceLink:focus,
.sourceLink:active {
    color: var(--pro2-muted);
    font-size: 0.8rem;
    font-style: italic;
    text-decoration: underline;
}

.sourceLink:hover,
.sourceLink:focus {
    color: var(--pro2-blue);
}

.pro2BottomCta {
    display: none;
    width: min(620px, 100%);
    margin: 20px auto 0;
}

.pro2BottomCta #getProButton2 {
    border-color: transparent;
    background: var(--pro2-spectrum);
    color: white;
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.24);
}

.pro2BottomCta #getProButton2:hover,
.pro2BottomCta #getProButton2:focus,
.pro2BottomCta #getProButton2:active {
    border: solid 1px var(--pro2-ink);
    background: var(--pro2-ink);
    color: white;
}

#pro2Body #footer {
    position: relative;
    z-index: 2;
    width: 100%;
    padding: 40px 0;
    box-sizing: border-box;
    border: 0;
    background: #101820;
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.8rem;
}

#pro2Body #footer a:hover,
#pro2Body #footer a:focus,
#pro2Body #footer a:active {
    color: white;
    font-size: inherit;
}

@media screen and (prefers-reduced-motion: no-preference) {
    .pro2HeroIntro {
        animation: pro2CopyEntrance 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;
    }

    #planBubblesWrapper {
        animation: pro2PlansEntrance 0.8s cubic-bezier(0.22, 1, 0.36, 1) 0.08s both;
    }
}

@keyframes pro2CopyEntrance {
    from {
        opacity: 0;
        transform: translateY(22px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes pro2PlansEntrance {
    from {
        opacity: 0;
        transform: translateY(28px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media screen and (max-width: 1120px) {
    #outerWrapper {
        grid-template-columns: minmax(0, 1fr);
    }

    #leftPanelTitle {
        max-width: 780px;
    }

    #planBubblesWrapper {
        grid-template-columns: minmax(230px, 0.8fr) minmax(300px, 1.2fr);
    }

    .pro2BottomCta {
        display: block;
    }
}

@media screen and (max-width: 1030px) {
    #leftPanel {
        grid-template-columns: 1fr;
    }

    .pro2HeroIntro {
        padding: 20px;
    }
}

@media screen and (max-width: 760px) {
    #pro2Body #header {
        padding-right: 16px;
        padding-left: 16px;
    }

    #pro2Body #headerLinksWrapperLoggedIn,
    #pro2Body #headerLinksWrapperLoggedOut {
        column-gap: 7px;
    }

    #pro2Body .headerLink,
    #pro2Body .headerLinkPro {
        padding-right: 3px;
        padding-left: 3px;
        font-size: 0.8rem;
    }

    #pro2Body #signupHeaderLink {
        padding-right: 12px;
        padding-left: 12px;
    }

    #outerWrapper {
        width: min(1304px, calc(100vw - 28px));
        padding-top: 14px;
        padding-bottom: 72px;
        box-shadow: 0 0 0 14px var(--pro2-paper);
    }

    .pro2HeroIntro {
        padding: 20px;
    }

    #leftPanelTitle {
        font-size: 1.4rem;
    }

    .pro2PricingArea {
        padding: 28px;
    }

    #rightPanel {
        padding: 48px 0 0;
        border: 0;
    }

    .pro2FactGrid {
        grid-template-columns: 1fr;
    }
}

@media screen and (max-width: 560px) {
    #pro2Body #headerName {
        display: none;
    }

    #planBubblesWrapper,
    #planBubblesWrapper.pro2SinglePlan {
        grid-template-columns: 1fr;
    }

    .planBubble {
        min-height: 300px;
    }

    #affiliateDiscountPriceSummary,
    #specialProDiscountPriceSummary {
        align-items: flex-start;
        flex-direction: column;
    }

    #specialProDiscountBox {
        padding-right: 14px;
        padding-left: 14px;
    }

    #specialProDiscountBadge {
        width: calc(100% - 28px);
        white-space: normal;
    }

    #specialProDiscountCountdown {
        grid-template-columns: 42px min-content 42px min-content 42px min-content 42px;
        gap: 3px;
    }

    .specialProDiscountTimeUnit {
        min-height: 48px;
    }

    .specialProDiscountTimeValue {
        font-size: 1.1rem;
    }

    .specialProDiscountTimeLabel {
        font-size: 0.6rem;
    }

    .specialProDiscountCountdownSeparator {
        font-size: 1rem;
    }

    #rightPanelTitle {
        font-size: 1.6rem;
    }

    .factSnippet {
        grid-template-columns: 1fr;
    }
}

@media screen and (max-width: 380px) {
    .pro2PricingArea {
        padding-right: 18px;
        padding-left: 18px;
    }

    #affiliateDiscountBadge {
        display: flex;
        width: 100%;
    }
}

@media screen and (prefers-reduced-motion: reduce) {
    #pro2Body *,
    #pro2Body *::before,
    #pro2Body *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}
