.lc-stage,
.lc-stage * {
    box-sizing: border-box;
}

.lc-stage {
    --lc-section-color-1: #87cef6;
    --lc-section-color-2: #26aae0;
    --lc-section-angle: 180deg;
    --lc-blue-preset-color-1: #87cef6;
    --lc-blue-preset-color-2: #26aae0;
    --lc-blue-preset-angle: 180deg;
    --lc-heading-color: #0047a4;
    --lc-card-background: #ffffff;
    --lc-label-color-1: #42b9e8;
    --lc-label-color-2: #26aae0;
    --lc-label-angle: 180deg;
    --lc-title-color: #ffffff;
    --lc-hover-lift: 8px;
    --lc-hover-scale: 1.04;
    --lc-transition: 350ms;
    --lc-reveal-distance: 28px;
    --lc-html-content-width: 1180px;
    --lc-html-grid-gap: 24px;
    --lc-html-radius: 44px;
    --lc-html-heading-size: 38px;
    --lc-html-title-size: 30px;
    position: relative;
    width: 100%;
    padding: 100px 28px 120px;
    overflow: hidden;
    background: linear-gradient(var(--lc-section-angle), var(--lc-section-color-1), var(--lc-section-color-2)) !important;
    font-family: "Proxima Nova", "Montserrat", Arial, sans-serif;
}

/* Requested blue background. It intentionally overrides old saved defaults. */
.lc-stage.lc-use-blue-preset {
    background: linear-gradient(
        var(--lc-blue-preset-angle),
        var(--lc-blue-preset-color-1),
        var(--lc-blue-preset-color-2)
    ) !important;
}

.lc-shell {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
}

.lc-heading {
    margin: 0 0 50px;
    color: var(--lc-heading-color) !important;
    font-family: "Montserrat", Arial, sans-serif;
    font-size: clamp(30px, 2.5vw, 40px);
    font-weight: 600;
    line-height: 1.1;
    text-align: center;
}

.lc-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: start;
    justify-items: stretch;
    gap: 24px;
}

.lc-card {
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
    overflow: hidden;
    background: var(--lc-card-background) !important;
    border-radius: 44px;
    box-shadow: 0 22px 44px rgba(0, 71, 164, 0.16);
    transition: transform var(--lc-transition) ease, box-shadow var(--lc-transition) ease;
    isolation: isolate;
}

.lc-card-link {
    display: block;
    width: 100%;
    color: inherit !important;
    text-decoration: none !important;
}

.lc-image-wrap {
    position: relative;
    width: 100%;
    height: 380px;
    overflow: hidden;
    background: #ffffff;
    border-radius: 44px 44px 0 0;
}

.lc-picture {
    display: block;
    width: 100%;
    height: 100%;
}

.lc-image {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    object-fit: cover;
    object-position: var(--lc-image-x, 50%) var(--lc-image-y, 50%);
    transition: transform var(--lc-transition) ease;
}

.lc-video {
    position: absolute;
    inset: 0;
    z-index: 1;
    border: 0;
    pointer-events: none;
}

.lc-label {
    min-height: 92px;
    padding: 16px 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(var(--lc-label-angle), var(--lc-label-color-1), var(--lc-label-color-2)) !important;
    border-radius: 0 0 44px 44px;
}

.lc-title {
    margin: 0;
    color: var(--lc-title-color) !important;
    font-family: "Montserrat", Arial, sans-serif;
    font-size: clamp(22px, 1.65vw, 30px);
    font-weight: 400;
    line-height: 1.08;
    text-align: center;
    text-transform: uppercase;
}

/* Exact original HTML proportions preset. */
.lc-stage.lc-original-html-card .lc-shell {
    max-width: var(--lc-html-content-width) !important;
}

.lc-stage.lc-original-html-card .lc-grid {
    gap: var(--lc-html-grid-gap) !important;
}

.lc-stage.lc-original-html-card .lc-heading {
    font-size: var(--lc-html-heading-size) !important;
}

.lc-stage.lc-original-html-card .lc-card {
    max-width: none !important;
    border-radius: var(--lc-html-radius) !important;
}

.lc-stage.lc-original-html-card .lc-image-wrap {
    border-radius: var(--lc-html-radius) var(--lc-html-radius) 0 0 !important;
}

.lc-stage.lc-original-html-card.lc-ratio-square .lc-image-wrap,
.lc-stage.lc-original-html-card.lc-ratio-fourthree .lc-image-wrap,
.lc-stage.lc-original-html-card.lc-ratio-threetwo .lc-image-wrap,
.lc-stage.lc-original-html-card.lc-ratio-sixteennine .lc-image-wrap {
    height: auto !important;
}

.lc-stage.lc-original-html-card.lc-ratio-square .lc-image-wrap {
    aspect-ratio: 1 / 1;
}

.lc-stage.lc-original-html-card.lc-ratio-fourthree .lc-image-wrap {
    aspect-ratio: 4 / 3;
}

.lc-stage.lc-original-html-card.lc-ratio-threetwo .lc-image-wrap {
    aspect-ratio: 3 / 2;
}

.lc-stage.lc-original-html-card.lc-ratio-sixteennine .lc-image-wrap {
    aspect-ratio: 16 / 9;
}

.lc-stage.lc-original-html-card .lc-label {
    min-height: 92px !important;
    padding: 16px 20px !important;
    border-radius: 0 0 var(--lc-html-radius) var(--lc-html-radius) !important;
}

.lc-stage.lc-original-html-card .lc-title {
    font-size: var(--lc-html-title-size) !important;
}

.lc-card:hover,
.lc-card:focus-within {
    transform: translateY(calc(-1 * var(--lc-hover-lift)));
    box-shadow: 0 30px 58px rgba(0, 71, 164, 0.23);
}

.lc-card:hover .lc-image,
.lc-card:focus-within .lc-image {
    transform: scale(var(--lc-hover-scale));
}

.lc-has-reveal [data-reveal-item] {
    opacity: 0;
    transform: translateY(var(--lc-reveal-distance));
    transition: opacity 700ms ease, transform 700ms ease, box-shadow var(--lc-transition) ease;
}

.lc-has-reveal.lc-is-visible [data-reveal-item] {
    opacity: 1;
    transform: translateY(0);
}

.lc-has-reveal.lc-is-visible [data-reveal-item]:hover,
.lc-has-reveal.lc-is-visible [data-reveal-item]:focus-within {
    transform: translateY(calc(-1 * var(--lc-hover-lift)));
}

@media (max-width: 1024px) {
    .lc-stage {
        padding: 76px 24px 90px;
        --lc-html-content-width: 920px;
        --lc-html-grid-gap: 20px;
        --lc-html-radius: 40px;
        --lc-html-heading-size: 34px;
        --lc-html-title-size: 27px;
    }

    .lc-heading {
        margin-bottom: 42px;
    }

    .lc-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px;
    }

    .lc-card {
        max-width: 430px;
        border-radius: 40px;
    }

    .lc-image-wrap {
        height: 380px;
        border-radius: 40px 40px 0 0;
    }

    .lc-label {
        min-height: 86px;
        border-radius: 0 0 40px 40px;
    }

    .lc-stage.lc-original-html-card .lc-label {
        min-height: 86px !important;
        padding: 15px 18px !important;
    }
}

@media (max-width: 767px) {
    .lc-stage {
        padding: 58px 16px 66px;
        --lc-html-content-width: 100%;
        --lc-html-grid-gap: 18px;
        --lc-html-radius: 36px;
        --lc-html-heading-size: 30px;
        --lc-html-title-size: 24px;
    }

    .lc-heading {
        margin-bottom: 32px;
        font-size: 30px;
    }

    .lc-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .lc-card {
        max-width: 430px;
        border-radius: 36px;
    }

    .lc-image-wrap {
        height: 340px;
        border-radius: 36px 36px 0 0;
    }

    .lc-phone-square .lc-image-wrap {
        height: auto !important;
        aspect-ratio: 1 / 1;
    }

    .lc-label {
        min-height: 78px;
        padding: 14px 16px;
        border-radius: 0 0 36px 36px;
    }

    .lc-stage.lc-original-html-card .lc-label {
        min-height: 78px !important;
        padding: 14px 16px !important;
    }

    .lc-title {
        font-size: 24px;
    }
}

@media (max-width: 420px) {
    .lc-stage {
        padding-left: 12px;
        padding-right: 12px;
        --lc-html-radius: 30px;
        --lc-html-title-size: 21px;
    }

    .lc-label {
        min-height: 72px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .lc-card,
    .lc-image,
    .lc-video,
    .lc-has-reveal [data-reveal-item] {
        transition: none !important;
    }

    .lc-has-reveal [data-reveal-item] {
        opacity: 1;
        transform: none;
    }
}
