:root {
    --flexce-bg: #ffffff;
    --flexce-text: #1a1a1a;
    --flexce-headline: #00335b;
    --flexce-hover-bg: #00335b;
    --flexce-hover-text: #ffffff;
    --flexce-bg-image: none;
    --flexce-fullbleed-padding-y: clamp(1rem, 3vw, 2rem);
    --flexce-scrim-image: linear-gradient(to top, rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0) 60%);
    --flexce-accent: #a6bf00;
    --flexce-accent-text: #00335b;
    --flexce-negative-color: #c0392b;

    --flexce-radius-sm: 8px;
    --flexce-radius-md: 16px;
    --flexce-radius-lg: 28px;
    --flexce-radius-pill: 999px;

    --flexce-gap: clamp(1rem, 2vw, 2rem);
    --flexce-container-width: 1400px;
    --flexce-container-padding: clamp(1rem, 4vw, 3rem);
}

.flexce-flexcols__col-content {
    max-width: var(--flexce-col-text-maxwidth, none);
}
.flexce-text-center .flexce-flexcols__col-content {
    margin-left: auto;
    margin-right: auto;
}
.flexce-text-right .flexce-flexcols__col-content {
    margin-left: auto;
    margin-right: 0;
}
.flexce-flexcols__col-content > h1,
.flexce-flexcols__col-content > h2,
.flexce-flexcols__col-content > h3,
.flexce-flexcols__col-content > h4,
.flexce-flexcols__col-content > h5 {
    padding-top: 0;
}

.flexce {
    box-sizing: border-box;
}
.flexce *,
.flexce *::before,
.flexce *::after {
    box-sizing: inherit;
}
.flexce img {
    max-width: 100%;
    height: auto;
    display: block;
}
.flexce picture {
    display: contents;
}

.frame-type-news_newsliststicky h4 { color: var(--flexce-headline); }

.frame-space-before-small { margin-top: 1rem; }
.frame-space-before-medium { margin-top: 2rem; }
.frame-space-before-large { margin-top: 4rem; }
.frame-space-before-extra-large { margin-top: 6rem; }
.frame-space-after-small { margin-bottom: 1rem; }
.frame-space-after-medium { margin-bottom: 2rem; }
.frame-space-after-large { margin-bottom: 4rem; }
.frame-space-after-extra-large { margin-bottom: 6rem; }

.flexce-fullbleed {
    /* width: 100vw; */
    width: 100%;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    background-color: var(--flexce-bg);
    background-image: var(--flexce-bg-image);
    color: var(--flexce-text);
}
.flexce-flexcols__bg-band {
    position: absolute;
    inset: 0;
    max-width: var(--flexce-container-width);
    margin-left: auto;
    margin-right: auto;
    background-color: var(--flexce-bg-band, transparent);
    background-image: var(--flexce-bg-band-image, none);
    border-radius: 12px;
    z-index: -1;
    pointer-events: none;
}
.flexce-flexcols--bg-constrained {
    background-color: var(--flexce-bg);
    background-image: var(--flexce-bg-image);
    color: var(--flexce-text);
    border-radius: 12px;
}
.flexce-fullbleed__inner {
    max-width: var(--flexce-container-width);
    margin: 0 auto;
    padding-top: var(--flexce-fullbleed-padding-y, clamp(1rem, 3vw, 2rem));
    padding-bottom: var(--flexce-fullbleed-padding-y, clamp(1rem, 3vw, 2rem));
}
@media (min-width: 62em) {
    .flexce-fullbleed__inner {
        padding-top: var(--flexce-fullbleed-padding-y-desktop, var(--flexce-fullbleed-padding-y, clamp(1rem, 3vw, 2rem)));
        padding-bottom: var(--flexce-fullbleed-padding-y-desktop, var(--flexce-fullbleed-padding-y, clamp(1rem, 3vw, 2rem)));
    }
}
.flexce-container-constrain {
    max-width: var(--flexce-container-width);
    margin-left: auto;
    margin-right: auto;
}

@media (max-width: 87.5em) {
    .flexce-fullbleed__inner {
        padding-left: var(--flexce-container-padding);
        padding-right: var(--flexce-container-padding);
    }

    .flexce-container-constrain {
        padding-left: var(--flexce-container-padding);
        padding-right: var(--flexce-container-padding);
    }
}

.flexce-hero.flexce-container-constrain {
    padding-left: 0;
    padding-right: 0;
}

.flexce-container-constrain.flexce-gutter--no-left,
.flexce-fullbleed__inner.flexce-gutter--no-left {
    margin-left: 0;
    max-width: calc(50vw + var(--flexce-container-width) / 2);
    padding-left: 0;
}
.flexce-container-constrain.flexce-gutter--no-right,
.flexce-fullbleed__inner.flexce-gutter--no-right {
    margin-right: 0;
    margin-left: auto;
    max-width: calc(50vw + var(--flexce-container-width) / 2);
    padding-right: 0;
}
.flexce-container-constrain.flexce-gutter--no-left.flexce-gutter--no-right,
.flexce-fullbleed__inner.flexce-gutter--no-left.flexce-gutter--no-right {
    margin-left: 0;
    margin-right: 0;
    max-width: 100vw;
    padding-left: 0;
    padding-right: 0;
}

.flexce-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5em;
    padding: 0.85em 1.6em;
    margin-top: 1.6em;
    border-radius: var(--flexce-radius-pill);
    font-weight: 700;
    text-decoration: none;
    line-height: 1.2;
    border: 2px solid transparent;
    transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease, color 0.15s ease;
    cursor: pointer;
}
.flexce-btn:hover,
.flexce-btn:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
}
.flexce-btn:focus-visible {
    outline: 3px solid currentColor;
    outline-offset: 2px;
}
.flexce-btn--primary {
    background-color: var(--flexce-accent);
    color: var(--flexce-accent-text);
}
.flexce-btn--primary:hover,
.flexce-btn--primary:focus-visible {
    background-color: var(--flexce-hover-bg);
    color: var(--flexce-hover-text);
}
.flexce-btn--outline {
    background-color: transparent;
    color: var(--flexce-text);
    border-color: currentColor;
}
.flexce-btn--outline:hover,
.flexce-btn--outline:focus-visible {
    background-color: var(--flexce-hover-bg);
    color: var(--flexce-hover-text);
    border-color: var(--flexce-hover-bg);
}
.flexce-btn--ghost {
    background-color: transparent;
    color: var(--flexce-accent);
    border-color: var(--flexce-accent);
}
.flexce-btn--ghost:hover,
.flexce-btn--ghost:focus-visible {
    background-color: var(--flexce-hover-bg);
    color: var(--flexce-hover-text);
    border-color: var(--flexce-hover-bg);
}

.flexce-eyebrow {
    display: block;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.9rem;
    color: var(--flexce-eyebrow, var(--flexce-accent));
    margin: 0 0 0.5em;
}
.flexce-highlight {
    background: color-mix(in srgb, var(--flexce-accent) 25%, transparent);
    padding: 0.05em 0.3em;
    border-radius: 4px;
}

.flexce-list {
    list-style: none;
    margin: 1em 0;
    padding: 0;
    display: grid;
    gap: 0.6em;
}
.flexce-list li {
    position: relative;
    padding-left: 1.6em;
}
.flexce-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.35em;
    width: 0.7em;
    height: 0.7em;
    background: var(--flexce-accent);
    clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.flexce-list--check li::before {
    clip-path: none;
    width: 1.1em;
    height: 1.1em;
    border-radius: 50%;
    top: 0.15em;
}
.flexce-list--check li {
    padding-left: 1.9em;
}

.flexce-hero {
    position: relative;
    overflow: hidden;
    border-radius: var(--flexce-radius-md);
}
.flexce-hero__viewport {
    position: relative;
    min-height: var(--flexce-hero-height, 70vh);
}
.flexce-hero__slide {
    position: absolute;
    inset: 0;
    background-color: var(--flexce-bg);
    background-image: var(--flexce-bg-image);
    color: var(--flexce-text);
    opacity: 0;
    visibility: hidden;
    z-index: 1;
    transition: opacity 0.6s ease, visibility 0s linear 0.6s;
}
.flexce-hero__slide.is-active {
    opacity: 1;
    visibility: visible;
    z-index: 2;
    transition: opacity 0.6s ease, visibility 0s linear 0s;
}
.flexce-hero__media {
    position: absolute;
    inset: 0;
    overflow: hidden;
}
.flexce-hero__media .flexce-hero__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.flexce-hero__media .flexce-hero__image--fixed {
    position: absolute;
    top: -80%;
    left: 0;
    width: 100%;
    height: 260%;
    transform: translateY(var(--flexce-parallax-offset, 0px));
}

.flexce-hero__media .flexce-hero__image--parallax {
    position: absolute;
    top: -15%;
    left: 0%;
    width: 112%;
    height: 130%;
    transform: translateY(var(--flexce-parallax-offset, 0px));
}

@keyframes flexce-kenburns {
    0% { transform: scale(1); }
    100% { transform: scale(1.15); }
}
.flexce-hero__image--ken-burns {
    animation: flexce-kenburns 18s ease-in-out infinite alternate;
}

.flexce-hero__gradient-reveal {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0) 65%);
    pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
    .flexce-hero__image--parallax,
    .flexce-hero__image--fixed { transform: none; }
    .flexce-hero__image--ken-burns { animation: none; }
}
.flexce-hero__scrim {
    position: absolute;
    inset: 0;
    background-image: var(--flexce-scrim-image);
}
.flexce-hero__inner {
    position: relative;
    z-index: 1;
    min-height: var(--flexce-hero-height, 70vh);
    width: 100%;
}
.flexce-hero__inner--constrain {
    max-width: var(--flexce-container-width);
    margin: 0 auto;
}
.flexce-hero__content {
    display: flex;
    height: 100%;
    min-height: var(--flexce-hero-height, 70vh);
    padding: var(--flexce-content-padding, clamp(1.5rem, 5vw, 4rem));
    padding-left: 0;
}
.flexce-hero__content--left { justify-content: flex-start; align-items: flex-end; }
.flexce-hero__content--center { justify-content: center; align-items: center; text-align: center; }
.flexce-hero__content--right { justify-content: flex-end; align-items: flex-end; }

.flexce-hero__textblock {
    position: relative;
    color: var(--flexce-text);
    padding: var(--flexce-content-padding, clamp(1.5rem, 4vw, 3rem));
    max-width: 42rem;
}
.flexce-hero__textblock--left,
.flexce-hero__textblock--right {
    background-color: var(--flexce-bg);
}
.flexce-hero__textblock--center {
    background-color: var(--flexce-bg);
    border-radius: var(--flexce-radius-md);
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.15);
}
.flexce-hero__textblock.has-custom-gradient {
    background: var(--flexce-bg-image);
}

.flexce-hero__text-icon {
    position: absolute;
    width: var(--flexce-text-icon-size-mobile, 40px);
    height: var(--flexce-text-icon-size-mobile, 40px);
    transform: translate(var(--flexce-text-icon-offset-x-mobile, 0px), var(--flexce-text-icon-offset-y-mobile, 0px));
    z-index: 2;
}
@media (min-width: 62em) {
    .flexce-hero__text-icon {
        width: var(--flexce-text-icon-size-desktop, 56px);
        height: var(--flexce-text-icon-size-desktop, 56px);
        transform: translate(var(--flexce-text-icon-offset-x-desktop, 0px), var(--flexce-text-icon-offset-y-desktop, 0px));
    }
}
.flexce-hero__text-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}
.flexce-hero__text-icon--top-left { top: clamp(-2rem, -4vw, -1.25rem); left: clamp(-1.5rem, -3vw, -0.75rem); }
.flexce-hero__text-icon--top-right { top: clamp(-2rem, -4vw, -1.25rem); right: clamp(-1.5rem, -3vw, -0.75rem); }
.flexce-hero__text-icon--bottom-left { bottom: clamp(-2rem, -4vw, -1.25rem); left: clamp(-1.5rem, -3vw, -0.75rem); }
.flexce-hero__text-icon--bottom-right { bottom: clamp(-2rem, -4vw, -1.25rem); right: clamp(-1.5rem, -3vw, -0.75rem); }
@media (max-width: 61.99em) {
    .flexce-hero__text-icon--hide-mobile {
        display: none;
    }
}

.flexce-hero__text-icon2 {
    position: absolute;
    width: var(--flexce-text-icon2-size-mobile, 40px);
    height: var(--flexce-text-icon2-size-mobile, 40px);
    transform: translate(var(--flexce-text-icon2-offset-x-mobile, 0px), var(--flexce-text-icon2-offset-y-mobile, 0px));
    z-index: 2;
}
@media (min-width: 62em) {
    .flexce-hero__text-icon2 {
        width: var(--flexce-text-icon2-size-desktop, 56px);
        height: var(--flexce-text-icon2-size-desktop, 56px);
        transform: translate(var(--flexce-text-icon2-offset-x-desktop, 0px), var(--flexce-text-icon2-offset-y-desktop, 0px));
    }
}
.flexce-hero__text-icon2 img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}
.flexce-hero__text-icon2--top-left { top: clamp(-2rem, -4vw, -1.25rem); left: clamp(-1.5rem, -3vw, -0.75rem); }
.flexce-hero__text-icon2--top-right { top: clamp(-2rem, -4vw, -1.25rem); right: clamp(-1.5rem, -3vw, -0.75rem); }
.flexce-hero__text-icon2--bottom-left { bottom: clamp(-2rem, -4vw, -1.25rem); left: clamp(-1.5rem, -3vw, -0.75rem); }
.flexce-hero__text-icon2--bottom-right { bottom: clamp(-2rem, -4vw, -1.25rem); right: clamp(-1.5rem, -3vw, -0.75rem); }
@media (max-width: 61.99em) {
    .flexce-hero__text-icon2--hide-mobile {
        display: none;
    }
}

.flexce-countdown__icon {
    position: absolute;
    width: var(--flexce-cd-icon-size-mobile, 40px);
    height: var(--flexce-cd-icon-size-mobile, 40px);
    transform: translate(var(--flexce-cd-icon-offset-x-mobile, 0px), var(--flexce-cd-icon-offset-y-mobile, 0px));
    z-index: 3;
}
@media (min-width: 62em) {
    .flexce-countdown__icon {
        width: var(--flexce-cd-icon-size-desktop, 56px);
        height: var(--flexce-cd-icon-size-desktop, 56px);
        transform: translate(var(--flexce-cd-icon-offset-x-desktop, 0px), var(--flexce-cd-icon-offset-y-desktop, 0px));
    }
}
.flexce-countdown__icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}
.flexce-countdown__icon--top-left { top: clamp(-1.25rem, -2.5vw, -0.75rem); left: clamp(-1.25rem, -2.5vw, -0.75rem); }
.flexce-countdown__icon--top-right { top: clamp(-1.25rem, -2.5vw, -0.75rem); right: clamp(-1.25rem, -2.5vw, -0.75rem); }
.flexce-countdown__icon--bottom-left { bottom: clamp(-1.25rem, -2.5vw, -0.75rem); left: clamp(-1.25rem, -2.5vw, -0.75rem); }
.flexce-countdown__icon--bottom-right { bottom: clamp(-1.25rem, -2.5vw, -0.75rem); right: clamp(-1.25rem, -2.5vw, -0.75rem); }
@media (max-width: 61.99em) {
    .flexce-countdown__icon--hide-mobile {
        display: none;
    }
}

.flexce-hero__headline {
    margin: 0 0 0.15em;
    font-size: clamp(1.5rem, 3vw, 2.4rem);
    line-height: 1.15;
    font-weight: 800;
    color: var(--flexce-headline);
}
.flexce-hero__headline--accent {
    color: var(--flexce-accent);
    font-weight: 600;
    margin-bottom: 0.5em;
}
.flexce-hero__subline {
    margin: 0 0 0.75em;
}

.flexce-countdown {
    position: absolute;
    z-index: 2;
    bottom: clamp(1rem, 4vw, 2.5rem);
    color: var(--flexce-text);
    padding: clamp(1.5rem, 3vw, 2.5rem) clamp(3.5rem, 8vw, 6rem);
    max-width: 28rem;
    isolation: isolate;
    transform: translate(var(--flexce-cd-offset-x, 0), var(--flexce-cd-offset-y, 0));
}

.flexce-countdown::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background-color: var(--flexce-bg);
    background-image: var(--flexce-bg-image);
    box-shadow: 0 16px 35px rgba(0, 0, 0, 0.2);
    border-top-left-radius: var(--flexce-cd-radius-tl, 0);
    border-top-right-radius: var(--flexce-cd-radius-tr, 0);
    border-bottom-right-radius: var(--flexce-cd-radius-br, 0);
    border-bottom-left-radius: var(--flexce-cd-radius-bl, 0);
    transform: rotate(var(--flexce-cd-rotation, 0deg));
}
.flexce-countdown--skewed::before {
    border-radius: 0;
    clip-path: polygon(9% 4%, 88% 0%, 100% 100%, 0% 96%);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
}
.flexce-countdown--right { right: clamp(1rem, 4vw, 2.5rem); }
.flexce-countdown--left { left: clamp(1rem, 4vw, 2.5rem); }
.flexce-countdown__intro {
    font-weight: 700;
    margin: 0 0 0.5em;
}
.flexce-countdown__row {
    display: flex;
    gap: clamp(0.75rem, 2vw, 1.5rem);
}
.flexce-countdown__unit {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.flexce-countdown__unit span {
    font-size: clamp(1.6rem, 3vw, 2.4rem);
    font-weight: 800;
    color: var(--flexce-accent);
    line-height: 1;
}
.flexce-countdown__unit small {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.flexce-countdown__deadline {
    margin: 0.75em 0 0;
    font-size: 0.9rem;
}

.flexce-hero__dots {
    position: absolute;
    bottom: 1.25rem;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 0.5rem;
    z-index: 2;
}
.flexce-hero__dot {
    width: 0.65rem;
    height: 0.65rem;
    border-radius: 50%;
    border: none;
    background: rgba(255, 255, 255, 0.55);
    cursor: pointer;
    padding: 0;
}
.flexce-hero__dot.is-active {
    background: #ffffff;
}
.flexce-hero__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    border: none;
    background: rgba(255, 255, 255, 0.85);
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
}
.flexce-hero__nav--prev { left: 1rem; }
.flexce-hero__nav--next { right: 1rem; }

.flexce-hero[data-layout="single"] .flexce-hero__dots,
.flexce-hero[data-layout="single"] .flexce-hero__nav {
    display: none;
}

@media (max-width: 47.99em) {
    .flexce-hero__viewport {
        min-height: auto;
    }
    .flexce-hero__slide {
        position: relative;
        inset: auto;
        display: none;
        opacity: 1;
        visibility: visible;
        transition: none;
    }
    .flexce-hero__slide.is-active {
        display: block;
    }
    .flexce-hero__inner,
    .flexce-hero__content {
        min-height: auto;
    }
    .flexce-hero__content {
        padding: var(--flexce-content-padding, 1.25rem);
    }
    .flexce-hero__media {
        position: relative;
        inset: auto;
        height: 55vw;
        min-height: 12rem;
    }
    .flexce-hero__content {
        display: block;
    }
    .flexce-hero__textblock,
    .flexce-hero__textblock--left,
    .flexce-hero__textblock--right {
        max-width: none;
        background-color: var(--flexce-bg);
        background-image: var(--flexce-bg-image);
        border-radius: 0 0 var(--flexce-radius-md) var(--flexce-radius-md);
        margin-top: -1.5rem;
        position: relative;
        z-index: 1;
    }
    .flexce-countdown {
        position: relative;
        margin: 1rem clamp(1rem, 4vw, 2.5rem) 0;
        max-width: none;
    }
    .flexce-countdown__row {
        justify-content: space-between;
    }
    .flexce-hero__dots {
        top: max(12rem, 55vw);
        bottom: auto;
        transform: translate(-50%, calc(-100% - 0.75rem));
    }
    .flexce-hero__nav {
        top: calc(max(12rem, 55vw) / 2);
    }
}

.flexce-flexcols__col-text h1,
.flexce-flexcols__col-text h2,
.flexce-flexcols__col-text h3,
.flexce-flexcols__col-text h4,
.flexce-flexcols__col-text h5,
.flexce-flexcols__col-text h6,
.flexce-angled__text h1,
.flexce-angled__text h2,
.flexce-angled__text h3,
.flexce-angled__text h4,
.flexce-angled__text h5,
.flexce-angled__text h6,
.flexce-contactcards__description h1,
.flexce-contactcards__description h2,
.flexce-contactcards__description h3,
.flexce-contactcards__description h4,
.flexce-contactcards__description h5,
.flexce-contactcards__description h6,
.flexce-contactcards__overlay-bio h1,
.flexce-contactcards__overlay-bio h2,
.flexce-contactcards__overlay-bio h3,
.flexce-contactcards__overlay-bio h4,
.flexce-contactcards__overlay-bio h5,
.flexce-contactcards__overlay-bio h6,
.flexce-hero__subline h1,
.flexce-hero__subline h2,
.flexce-hero__subline h3,
.flexce-hero__subline h4,
.flexce-hero__subline h5,
.flexce-hero__subline h6,
.flexce-steps__intro h1,
.flexce-steps__intro h2,
.flexce-steps__intro h3,
.flexce-steps__intro h4,
.flexce-steps__intro h5,
.flexce-steps__intro h6,
.flexce-steps__text h1,
.flexce-steps__text h2,
.flexce-steps__text h3,
.flexce-steps__text h4,
.flexce-steps__text h5,
.flexce-steps__text h6,
.flexce-splitcards__text h1,
.flexce-splitcards__text h2,
.flexce-splitcards__text h3,
.flexce-splitcards__text h4,
.flexce-splitcards__text h5,
.flexce-splitcards__text h6 {
    color: var(--flexce-headline);
}

.flexce-flexcols__col-text a,
.flexce-angled__text a,
.flexce-hero__subline a,
.flexce-steps__intro a,
.flexce-steps__text a,
.flexce-splitcards__text a {
    color: var(--flexce-link, var(--flexce-accent, inherit));
    text-decoration: underline;
}

.flexce-flexcols__headline {
    color: var(--flexce-headline);
}

.flexce-flexcols {
    isolation: isolate;
    padding-top: var(--flexce-flexcols-spacing-y-mobile, 0px);
    padding-bottom: var(--flexce-flexcols-spacing-y-mobile, 0px);
}
@media (min-width: 62em) {
    .flexce-flexcols {
        padding-top: var(--flexce-flexcols-spacing-y-desktop, 0px);
        padding-bottom: var(--flexce-flexcols-spacing-y-desktop, 0px);
    }
}
.flexce-flexcols__row {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    row-gap: var(--flexce-gap);
    margin-left: calc(var(--flexce-gap) / -2);
    margin-right: calc(var(--flexce-gap) / -2);
}
.flexce-flexcols--valign-top .flexce-flexcols__col-inner { display: flex; flex-direction: column; justify-content: flex-start; }
.flexce-flexcols--valign-center .flexce-flexcols__col-inner { display: flex; flex-direction: column; justify-content: center; }
.flexce-flexcols--valign-bottom .flexce-flexcols__col-inner { display: flex; flex-direction: column; justify-content: flex-end; }

.flexce-flexcols--nogap .flexce-flexcols__row {
    margin-left: 0;
    margin-right: 0;
    row-gap: 0;
}
.flexce-flexcols--nogap .flexce-flexcols__col {
    padding-left: 0;
    padding-right: 0;
}

.flexce-flexcols__media {
    position: absolute;
    left: var(--flexce-media-x, 50%);
    top: 50%;
    transform: translate(-50%, -50%);
    width: clamp(6rem, 16vw, 11rem);
    z-index: 2;
    filter: drop-shadow(0 10px 20px rgba(0, 0, 0, 0.2));
}
@media (max-width: 47.99em) {
    .flexce-flexcols__media {
        position: relative;
        left: auto;
        top: auto;
        transform: none;
        margin: -1.5rem auto 1rem;
    }
}

.flexce-flexcols__col {
    box-sizing: border-box;
    flex: 0 0 auto;
    min-width: 0;
    width: 100%;
    padding-left: calc(var(--flexce-gap) / 2);
    padding-right: calc(var(--flexce-gap) / 2);
}
@media (max-width: 61.99em) {
    .flexce-flexcols__col {
        order: var(--flexce-col-order-mobile, 0);
    }
    .flexce-flexcols__col--hide-mobile {
        display: none;
    }
}
@media (min-width: 62em) {
    .flexce-flexcols__col--hide-desktop {
        display: none;
    }
}
.flexce-flexcols__col-inner {
    --flexce-col-pad-extra-left: var(--flexce-col-pad-extra-left-mobile, 0px);
    --flexce-col-pad-extra-right: var(--flexce-col-pad-extra-right-mobile, 0px);
    --flexce-col-pad-extra-top: var(--flexce-col-pad-extra-top-mobile, 0px);
    --flexce-col-pad-extra-bottom: var(--flexce-col-pad-extra-bottom-mobile, 0px);
    --flexce-col-pad-base: var(--flexce-content-padding, clamp(0.5rem, 2vw, 1.25rem));
    padding-top: calc(var(--flexce-col-pad-base) + var(--flexce-col-pad-extra-top, 0px));
    padding-bottom: calc(var(--flexce-col-pad-base) + var(--flexce-col-pad-extra-bottom, 0px));
    padding-left: calc(var(--flexce-col-pad-base) + var(--flexce-col-pad-extra-left, 0px));
    padding-right: calc(var(--flexce-col-pad-base) + var(--flexce-col-pad-extra-right, 0px));
    height: 100%;
}
@media (min-width: 62em) {
    .flexce-flexcols__col-inner {
        --flexce-col-pad-extra-left: var(--flexce-col-pad-extra-left-desktop, 0px);
        --flexce-col-pad-extra-right: var(--flexce-col-pad-extra-right-desktop, 0px);
        --flexce-col-pad-extra-top: var(--flexce-col-pad-extra-top-desktop, 0px);
        --flexce-col-pad-extra-bottom: var(--flexce-col-pad-extra-bottom-desktop, 0px);
    }
}
.flexce-flexcols:not(.flexce-flexcols--bg-constrained) .flexce-flexcols__col:first-child:not(:only-child) .flexce-flexcols__col-inner:not(.has-bg):not(.has-border) {
    padding-left: var(--flexce-col-pad-extra-left, 0px);
}
.flexce-flexcols:not(.flexce-flexcols--bg-constrained) .flexce-flexcols__col:last-child:not(:only-child) .flexce-flexcols__col-inner:not(.has-bg):not(.has-border) {
    padding-right: var(--flexce-col-pad-extra-right, 0px);
}

.flexce-flexcols--bg-constrained .flexce-flexcols__col-inner {
    --flexce-col-pad-base: var(--flexce-content-padding, clamp(1rem, 2.5vw, 2rem));
    padding-top: calc(var(--flexce-col-pad-base) + var(--flexce-col-pad-extra-top, 0px));
    padding-bottom: calc(var(--flexce-col-pad-base) + var(--flexce-col-pad-extra-bottom, 0px));
    padding-left: calc(var(--flexce-col-pad-base) + var(--flexce-col-pad-extra-left, 0px));
    padding-right: calc(var(--flexce-col-pad-base) + var(--flexce-col-pad-extra-right, 0px));
}
.flexce-flexcols__col-inner.has-bg {
    background-color: var(--flexce-bg);
    background-image: var(--flexce-bg-image);
    color: var(--flexce-text);
    --flexce-col-pad-base: var(--flexce-content-padding, clamp(1rem, 2.5vw, 2rem));
    padding-top: calc(var(--flexce-col-pad-base) + var(--flexce-col-pad-extra-top, 0px));
    padding-bottom: calc(var(--flexce-col-pad-base) + var(--flexce-col-pad-extra-bottom, 0px));
    padding-left: calc(var(--flexce-col-pad-base) + var(--flexce-col-pad-extra-left, 0px));
    padding-right: calc(var(--flexce-col-pad-base) + var(--flexce-col-pad-extra-right, 0px));
    border-radius: var(--flexce-radius-md);
}

.flexce-flexcols__col-inner.has-border {
    border: 2px solid var(--flexce-border);
    --flexce-col-pad-base: var(--flexce-content-padding, clamp(1rem, 2.5vw, 2rem));
    padding-top: calc(var(--flexce-col-pad-base) + var(--flexce-col-pad-extra-top, 0px));
    padding-bottom: calc(var(--flexce-col-pad-base) + var(--flexce-col-pad-extra-bottom, 0px));
    padding-left: calc(var(--flexce-col-pad-base) + var(--flexce-col-pad-extra-left, 0px));
    padding-right: calc(var(--flexce-col-pad-base) + var(--flexce-col-pad-extra-right, 0px));
}
.flexce-flexcols__col-headline { margin: 0; color: var(--flexce-headline); }
.flexce-flexcols__col-text > *:first-child { margin-top: 0; }
.flexce-flexcols__col-text > *:last-child { margin-bottom: 0; }

.flexce-flexcols {
    --flexce-column-image-size: var(--flexce-column-image-size-mobile, 100%);
    --flexce-column-image-size-left: var(--flexce-column-image-size-left-mobile, 3rem);
    --flexce-column-image-maxheight: var(--flexce-column-image-maxheight-mobile, none);
}
@media (min-width: 62em) {
    .flexce-flexcols {
        --flexce-column-image-size: var(--flexce-column-image-size-desktop, 100%);
        --flexce-column-image-size-left: var(--flexce-column-image-size-left-desktop, 3rem);
        --flexce-column-image-maxheight: var(--flexce-column-image-maxheight-desktop, none);
    }
}
.flexce-flexcols__col-inner .flexce-flexcols__image {
    width: var(--flexce-column-image-size, 100%);
    max-width: none;
    max-height: var(--flexce-column-image-maxheight, none);
    object-fit: cover;
    border-radius: var(--flexce-radius-sm);
    margin-bottom: 1em;
}
.flexce-flexcols__col-inner .flexce-flexcols__image--fit {
    width: auto;
    height: auto;
    max-width: var(--flexce-column-image-size, 100%);
    max-height: var(--flexce-column-image-maxheight, none);
    object-fit: contain;
}
.flexce-flexcols__col-inner--bleed {
    padding: 0 !important;
    overflow: hidden;
}
.flexce-flexcols__col-inner--bleed .flexce-flexcols__image {
    width: 100%;
    height: 100%;
    max-width: none;
    margin-bottom: 0;
    border-radius: 0;
    object-fit: cover;
    flex: 1 1 auto;
    display: block;
}

.flexce-flexcols__col-inner.flexce-flexcols__col-inner--image-left {
    display: flex;
    flex-direction: row;
    align-items: var(--flexce-image-valign, flex-start);
    gap: 1rem;
}
.flexce-flexcols__col-inner--image-left .flexce-ai-badge-wrap {
    flex: 0 0 auto;
    width: var(--flexce-column-image-size-left, 3rem);
}
.flexce-flexcols__col-inner--image-left .flexce-ai-badge-wrap picture {
    display: block;
}
.flexce-flexcols__col-inner--image-left .flexce-flexcols__image {
    width: var(--flexce-column-image-size-left, 3rem);
    height: var(--flexce-column-image-size-left, 3rem);
    max-width: var(--flexce-column-image-size-left, 3rem);
    object-fit: contain;
    margin-bottom: 0;
}
.flexce-flexcols__col-inner--image-left .flexce-flexcols__col-content {
    flex: 1 1 auto;
    min-width: 0;
}

.flexce-flexcols--divided .flexce-flexcols__col-inner {
    position: relative;
}
.flexce-flexcols--divided .flexce-flexcols__col:not(:first-child) .flexce-flexcols__col-inner::before {
    content: "";
    position: absolute;
    left: calc(var(--flexce-gap) / -2);
    top: 0;
    bottom: 0;
    width: 1px;
    background: color-mix(in srgb, currentColor 15%, transparent);
}

.flexce-w-1-6  { width: calc(100% / 6) !important; }
.flexce-w-1-5  { width: 20% !important; }
.flexce-w-1-4  { width: 25% !important; }
.flexce-w-1-3  { width: 33.3333% !important; }
.flexce-w-3-8  { width: 37.5% !important; }
.flexce-w-5-12 { width: 41.6667% !important; }
.flexce-w-1-2  { width: 50% !important; }
.flexce-w-7-12 { width: 58.3333% !important; }
.flexce-w-5-8  { width: 62.5% !important; }
.flexce-w-2-3  { width: 66.6667% !important; }
.flexce-w-3-4  { width: 75% !important; }
.flexce-w-4-5  { width: 80% !important; }
.flexce-w-5-6  { width: 83.3333% !important; }
.flexce-w-1-1  { width: 100% !important; }

@media (min-width: 48em) and (max-width: 61.99em) {
    .flexce-flexcols__col,
    .flexce-flexcols__col[class*="flexce-w-"] {
        width: calc(100% / var(--flexce-tablet-columns, 2)) !important;
    }
}

@media (max-width: 47.99em) {
    .flexce-flexcols__col,
    .flexce-flexcols__col[class*="flexce-w-"] {
        width: calc(100% / var(--flexce-mobile-columns, 1)) !important;
    }
    .flexce-flexcols--divided .flexce-flexcols__col-inner::before { display: none; }
}

.flexce-steps__headline {
    text-align: center;
    margin: 0 0 0.5em;
    color: var(--flexce-headline);
}
.flexce-steps__intro {
    text-align: center;
    max-width: 50rem;
    margin: 0 auto 2.5em;
}
.flexce-steps__row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    gap: var(--flexce-steps-gap-mobile, clamp(1rem, 3vw, 2rem));
}
@media (min-width: 62em) {
    .flexce-steps__row {
        gap: var(--flexce-steps-gap-desktop, clamp(1rem, 3vw, 2rem));
    }
}
.flexce-steps__step {
    flex: 1 1 180px;
    max-width: 220px;
    text-align: center;
}
.flexce-steps__icon {
    width: var(--flexce-icon-size, 4.5rem);
    height: var(--flexce-icon-size, 4.5rem);
    margin: 0 auto 1em;
}
.flexce-steps__icon img { width: 100%; height: 100%; object-fit: contain; }
.flexce-steps__title { margin: 0 0 0.4em; color: var(--flexce-headline); }
.flexce-steps__text { margin: 0; opacity: 0.85; }
.flexce-steps__arrow {
    display: flex;
    align-items: center;
    color: var(--flexce-accent);
    flex: 0 0 auto;
    align-self: center;
}
.flexce-steps__cta { text-align: center; margin-top: 2em; }

@media (max-width: 61.99em) {
    .flexce-steps__row--arrows .flexce-steps__arrow svg {
        transform: rotate(90deg);
    }
    .flexce-steps__row {
        flex-direction: column;
        align-items: center;
    }
    .flexce-steps__step { max-width: 320px; }
}

.flexce-splitcards__row {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    position: relative;
}
.flexce-splitcards__card {
    flex: 1 1 320px;
    background-color: var(--flexce-bg);
    background-image: var(--flexce-bg-image);
    color: var(--flexce-text);
    padding: var(--flexce-content-padding, clamp(1.5rem, 4vw, 3rem));
    min-height: 16rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.flexce-splitcards__headline { margin: 0 0 0.5em; color: var(--flexce-headline); }
.flexce-splitcards__cta { margin-top: 1.25em; }

.flexce-splitcards__media {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: var(--flexce-media-size, clamp(6rem, 16vw, 11rem));
    z-index: 2;
    filter: drop-shadow(0 10px 20px rgba(0, 0, 0, 0.2));
}

.flexce-radius--none .flexce-splitcards__card { border-radius: 0; }
.flexce-radius--small .flexce-splitcards__card:first-child { border-radius: var(--flexce-radius-sm) 0 0 var(--flexce-radius-sm); }
.flexce-radius--small .flexce-splitcards__card:last-child { border-radius: 0 var(--flexce-radius-sm) var(--flexce-radius-sm) 0; }
.flexce-radius--medium .flexce-splitcards__card:first-child { border-radius: var(--flexce-radius-md) 0 0 var(--flexce-radius-md); }
.flexce-radius--medium .flexce-splitcards__card:last-child { border-radius: 0 var(--flexce-radius-md) var(--flexce-radius-md) 0; }
.flexce-radius--large .flexce-splitcards__card:first-child { border-radius: var(--flexce-radius-lg) 0 0 var(--flexce-radius-lg); }
.flexce-radius--large .flexce-splitcards__card:last-child { border-radius: 0 var(--flexce-radius-lg) var(--flexce-radius-lg) 0; }

@media (max-width: 47.99em) {
    .flexce-splitcards__row { flex-direction: column; }
    .flexce-radius--small .flexce-splitcards__card:first-child,
    .flexce-radius--medium .flexce-splitcards__card:first-child,
    .flexce-radius--large .flexce-splitcards__card:first-child {
        border-radius: var(--flexce-radius-md) var(--flexce-radius-md) 0 0 !important;
    }
    .flexce-radius--small .flexce-splitcards__card:last-child,
    .flexce-radius--medium .flexce-splitcards__card:last-child,
    .flexce-radius--large .flexce-splitcards__card:last-child {
        border-radius: 0 0 var(--flexce-radius-md) var(--flexce-radius-md) !important;
    }
    .flexce-splitcards__media {
        position: relative;
        left: auto;
        top: auto;
        transform: none;
        margin: -1.5rem auto;
    }
}

.flexce-angled {
    display: flex;
    align-items: stretch;
    gap: var(--flexce-gap);
    min-height: 26rem;
}
.flexce-angled--graphic_left { flex-direction: row-reverse; }
.flexce-angled__content {
    flex: 1 1 45%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: var(--flexce-content-padding, clamp(1rem, 3vw, 2rem)) 0;
    color: var(--flexce-text);
}
.flexce-angled__headline { margin: 0 0 0.5em; color: var(--flexce-headline); }

.flexce-angled__content--constrain {
    padding-left: max(var(--flexce-container-padding), calc((100vw - var(--flexce-container-width)) / 2));
}
.flexce-angled--graphic_left .flexce-angled__content--constrain {
    padding-left: 0;
    padding-right: max(var(--flexce-container-padding), calc((100vw - var(--flexce-container-width)) / 2));
}
.flexce-angled__columns {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    margin-top: 1em;
}
.flexce-angled__columns > div { flex: 1 1 200px; }

.flexce-angled__shape {
    flex: 1 1 55%;
    position: relative;
    background-color: var(--flexce-bg);
    background-image: var(--flexce-bg-image);
    color: var(--flexce-text);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    min-height: 20rem;
}

.flexce-angled__shape .flexce-angled__graphic {
    max-width: var(--flexce-graphic-size, 80%);
    height: auto;
    position: relative;
    z-index: 1;
}

.flexce-angled--diagonal-soft.flexce-angled--graphic_right .flexce-angled__shape {
    clip-path: polygon(8% 0, 100% 0, 100% 100%, 0% 100%);
}
.flexce-angled--diagonal-soft.flexce-angled--graphic_left .flexce-angled__shape {
    clip-path: polygon(0 0, 92% 0, 100% 100%, 0% 100%);
}
.flexce-angled--diagonal-steep.flexce-angled--graphic_right .flexce-angled__shape {
    clip-path: polygon(20% 0, 100% 0, 100% 100%, 0% 100%);
}
.flexce-angled--diagonal-steep.flexce-angled--graphic_left .flexce-angled__shape {
    clip-path: polygon(0 0, 80% 0, 100% 100%, 0% 100%);
}
.flexce-angled--wave .flexce-angled__shape {
    clip-path: path("M0,40 C150,120 250,-40 400,40 L400,400 L0,400 Z");
}
.flexce-angled--rectangle .flexce-angled__shape {
    clip-path: none;
    border-radius: var(--flexce-radius-md);
}

@media (max-width: 61.99em) {
    .flexce-angled,
    .flexce-angled--graphic_left {
        flex-direction: column;
    }
    .flexce-angled__shape {
        clip-path: none !important;
        border-radius: var(--flexce-radius-md);
        min-height: 14rem;
    }
}

[data-flexce-animate]:not([data-flexce-animate=""]):not([data-flexce-animate="none"]) {
    opacity: 0;
    transition: opacity var(--flexce-anim-duration, 0.7s) ease var(--flexce-anim-delay, 0s), transform var(--flexce-anim-duration, 0.7s) ease var(--flexce-anim-delay, 0s);
    will-change: opacity, transform;
}
[data-flexce-animate]:not([data-flexce-animate=""]):not([data-flexce-animate="none"]).is-visible {
    opacity: 1;
    transform: none;
}
[data-flexce-animate="from-left"] { transform: translateX(-48px); }
[data-flexce-animate="from-right"] { transform: translateX(48px); }
[data-flexce-animate="from-bottom"] { transform: translateY(48px); }
[data-flexce-animate="from-top"] { transform: translateY(-48px); }
[data-flexce-animate="zoom"] { transform: scale(0.92); }
[data-flexce-animate="fade"] { transform: none; }

@media (prefers-reduced-motion: reduce) {
    [data-flexce-animate]:not([data-flexce-animate=""]):not([data-flexce-animate="none"]) {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}

.flexce-text-left { text-align: left; }
.flexce-text-center { text-align: center; }
.flexce-text-right { text-align: right; }

.flexce-text-center .flexce-flexcols__image {
    margin-left: auto;
    margin-right: auto;
}
.flexce-text-right .flexce-flexcols__image {
    margin-left: auto;
    margin-right: 0;
}

.flexce-text-center .flexce-hero__cta,
.flexce-text-center .flexce-flexcols__col-cta,
.flexce-text-center .flexce-splitcards__cta,
.flexce-text-center .flexce-angled__cta {
    display: flex;
    justify-content: center;
}
.flexce-text-right .flexce-hero__cta,
.flexce-text-right .flexce-flexcols__col-cta,
.flexce-text-right .flexce-splitcards__cta,
.flexce-text-right .flexce-angled__cta {
    display: flex;
    justify-content: flex-end;
}

@media (max-width: 61.99em) {
    .flexce-flexcols__col-inner--center-mobile {
        text-align: center;
    }
    .flexce-flexcols__col-inner--center-mobile .flexce-flexcols__image {
        margin-left: auto;
        margin-right: auto;
    }
    .flexce-flexcols__col-inner--center-mobile .flexce-flexcols__col-cta {
        display: flex;
        justify-content: center;
    }
}

.flexce-contactcards__headline { margin: 0 0 1em; color: var(--flexce-headline, inherit); }

.flexce-contactcards__grid {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: var(--flexce-gap);
}
@media (min-width: 48em) {
    .flexce-contactcards__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 62em) {
    .flexce-contactcards__grid { grid-template-columns: repeat(var(--flexce-contactcards-columns, 3), minmax(0, 1fr)); }
}

.flexce-contactcards__card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    background: none;
    border: none;
    cursor: pointer;
    font: inherit;
    color: inherit;
    border: 1px solid #efefef;
    padding: var(--flexce-content-padding, clamp(1.25rem, 3vw, 2rem));
    border-radius: var(--flexce-radius-md);
    -webkit-tap-highlight-color: transparent;
    transition: transform .2s ease, box-shadow .2s ease;
}
.flexce-contactcards__card.has-badge {
    padding-bottom: calc(var(--flexce-content-padding, clamp(1.25rem, 3vw, 2rem)) + 2.75rem);
}
.flexce-contactcards__card.has-bg {
    background-color: var(--flexce-bg);
    background-image: var(--flexce-bg-image);
    color: var(--flexce-text);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
}
.flexce-contactcards__card:hover,
.flexce-contactcards__card:focus-visible {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.14);
}

.flexce-contactcards__card.no-vita {
    cursor: default;
}
.flexce-contactcards__card.no-vita:hover,
.flexce-contactcards__card.no-vita:focus-visible {
    transform: none;
    box-shadow: none;
}

.flexce-contactcards__photo {
    display: block;
    position: relative;
    width: var(--flexce-photo-size, 7rem);
    height: var(--flexce-photo-size, 7rem);
    margin-bottom: 1em;
    overflow: hidden;
    flex: 0 0 auto;
}
.flexce-contactcards__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }

.flexce-contactcards__badge {
    position: absolute;
    bottom: 0rem;
    z-index: 1;
    padding: 0.4rem 0.9rem;
    background: #003064;
    color: #ffffff;
    font-size: 0.85rem;
    font-weight: 700;
    white-space: nowrap;
}
.flexce-contactcards__badge--left { left: 0rem; border-radius: 6px 0 0 0; }
.flexce-contactcards__badge--right { right: 0rem; border-radius: 0 6px 0 0;}
.flexce-contactcards {
    isolation: isolate;
    padding-top: var(--flexce-contactcards-spacing-y-mobile, 0px);
    padding-bottom: var(--flexce-contactcards-spacing-y-mobile, 0px);
}
@media (min-width: 62em) {
    .flexce-contactcards {
        padding-top: var(--flexce-contactcards-spacing-y-desktop, 0px);
        padding-bottom: var(--flexce-contactcards-spacing-y-desktop, 0px);
    }
}
.flexce-contactcards--bg-constrained {
    background-color: var(--flexce-bg);
    background-image: var(--flexce-bg-image);
    color: var(--flexce-text);
    padding-left: var(--flexce-container-padding, 1rem);
    padding-right: var(--flexce-container-padding, 1rem);
    border-radius: 12px;
}
.flexce-contactcards__bg-band {
    position: absolute;
    inset: 0;
    max-width: var(--flexce-container-width);
    margin-left: auto;
    margin-right: auto;
    background-color: var(--flexce-bg-band, transparent);
    background-image: var(--flexce-bg-band-image, none);
    border-radius: 12px;
    z-index: -1;
    pointer-events: none;
}
.flexce-contactcards--photo-round .flexce-contactcards__photo,
.flexce-contactcards--photo-round .flexce-contactcards__overlay-photo { border-radius: 50%; }
.flexce-contactcards--photo-rounded .flexce-contactcards__photo,
.flexce-contactcards--photo-rounded .flexce-contactcards__overlay-photo { border-radius: var(--flexce-radius-md); }
.flexce-contactcards--photo-square .flexce-contactcards__photo,
.flexce-contactcards--photo-square .flexce-contactcards__overlay-photo { border-radius: 0; }

.flexce-contactcards__name { display: block; font-weight: 700; color: var(--flexce-headline, inherit); }
.flexce-contactcards__position { display: block; font-size: 0.9em; opacity: 0.8; margin-top: 0.2em; }
.flexce-contactcards__description { display: block; font-size: 0.85em; opacity: 0.75; margin-top: 0.4em; line-height: 1.4; text-align:left; }
.flexce-contactcards__hint {
    display: block;
    margin-top: 0.75em;
    font-size: 0.8em;
    color: var(--flexce-accent, #a6bf00);
    text-decoration: underline;
}

.flexce-contactcards__overlay {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
}
.flexce-contactcards__overlay[hidden] { display: none; }
.flexce-contactcards__overlay-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
}
.flexce-contactcards__overlay-panel {
    position: relative;
    background: #fff;
    color: #222;
    border-radius: var(--flexce-radius-md);
    max-width: 70rem;
    width: 100%;
    max-height: 88vh;
    overflow-y: auto;
    padding: clamp(1.5rem, 4vw, 2.5rem);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}
.flexce-contactcards__overlay-panel.has-bg {
    background-color: var(--flexce-bg);
    color: var(--flexce-text);
}
.flexce-contactcards__overlay-close {
    position: sticky;
    float: right;
    top: 1rem;
    margin-left: -2.25rem;
    margin-bottom: -2.25rem;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    border: none;
    background: rgba(0, 0, 0, 0.06);
    color: inherit;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
}
.flexce-contactcards__overlay-close:hover { background: rgba(0, 0, 0, 0.12); }

.flexce-contactcards__overlay-body { display: flex; flex-direction: column; gap: 1em; }
.flexce-contactcards__overlay-header {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 1.25em;
}
.flexce-contactcards__overlay-photo {
    display: block;
    position: relative;
    flex: 0 0 auto;
    width: var(--flexce-photo-size-overlay, 11rem);
    height: var(--flexce-photo-size-overlay, 11rem);
    overflow: hidden;
}
.flexce-contactcards__overlay-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.flexce-contactcards__overlay-name { margin: 0; font-size: 1.4em; font-weight: 700; color: var(--flexce-headline, inherit); }
.flexce-contactcards__overlay-position { margin: 0.2em 0 0; opacity: 0.8; }
.flexce-contactcards__overlay-contact { margin: 0.75em 0 0; display: flex; flex-direction: column; gap: 0.25em; }
.flexce-contactcards__overlay-contact a { display: inline-flex; align-items: center; gap: 0.5em; color: var(--flexce-accent, #a6bf00); text-decoration: none; }
.flexce-contactcards__overlay-contact a:hover { text-decoration: underline; }
.flexce-contactcards__overlay-icon {
    display: inline-block;
    flex: 0 0 auto;
    width: 1em;
    height: 1em;
    background-color: currentColor;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}
.flexce-contactcards__overlay-icon--phone {
    -webkit-mask-image: url('../Icons/ui/icon-phone.svg');
    mask-image: url('../Icons/ui/icon-phone.svg');
}
.flexce-contactcards__overlay-icon--email {
    -webkit-mask-image: url('../Icons/ui/icon-email.svg');
    mask-image: url('../Icons/ui/icon-email.svg');
}
.flexce-contactcards__overlay-bio { margin-top: 1em; line-height: 1.6; max-width: 95%; }

@media (max-width: 34em) {
    .flexce-contactcards__overlay-header {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 0.75em;
    }
    .flexce-contactcards__overlay-photo {
        width: 7rem;
        height: 7rem;
    }
}

body.flexce-contact-lock-scroll { overflow: hidden; }

@media (prefers-reduced-motion: no-preference) {
    .flexce-contactcards__overlay-panel { animation: flexce-contact-pop .25s ease; }
}
@keyframes flexce-contact-pop {
    from { opacity: 0; transform: scale(0.95) translateY(8px); }
    to { opacity: 1; transform: scale(1) translateY(0); }
}

ul.flexce-tag-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    list-style: none;
    margin: 0.75rem 0;
    padding: 0;
}
ul.flexce-tag-list li {
    background: var(--flexce-headline, #00335b);
    color: var(--flexce-accent-text, var(--flexce-text, inherit));
    border: 1px solid color-mix(in srgb, var(--flexce-headline, #00335b) 40%, transparent);
    border-radius: var(--flexce-radius-pill, 999px);
    padding: 0.4em 0.9em;
    font-size: 0.9em;
    font-weight: 700;
}

ul.flexce-checklist {
    list-style: none;
    margin: 0.75rem 0;
    padding: 0;
}
ul.flexce-checklist li {
    position: relative;
    padding-left: 1.6em;
    margin-bottom: 0.6em;
    break-inside: avoid;
}
ul.flexce-checklist li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.2em;
    width: 1.1em;
    height: 1.1em;
    background-color: var(--flexce-accent, #a6bf00);
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z"/></svg>');
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}
@media (max-width: 34em) {
    ul.flexce-checklist {
        columns: 1;
    }
}

ul.flexce-checklist-negative {
    list-style: none;
    margin: 0.75rem 0;
    padding: 0;
}
ul.flexce-checklist-negative li {
    position: relative;
    padding-left: 1.6em;
    margin-bottom: 0.6em;
    break-inside: avoid;
}
ul.flexce-checklist-negative li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.2em;
    width: 1.1em;
    height: 1.1em;
    background-color: var(--flexce-negative-color, #c0392b);
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M18.3 5.71 12 12.01l-6.3-6.3-1.41 1.41 6.3 6.3-6.3 6.3 1.41 1.41 6.3-6.3 6.3 6.3 1.41-1.41-6.3-6.3 6.3-6.3z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M18.3 5.71 12 12.01l-6.3-6.3-1.41 1.41 6.3 6.3-6.3 6.3 1.41 1.41 6.3-6.3 6.3 6.3 1.41-1.41-6.3-6.3 6.3-6.3z"/></svg>');
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}
