.fwhs-slider {
    --fwhs-width: 100vw;
    --fwhs-height: 88vh;
    --fwhs-transition-speed: 700ms;
    --fwhs-control-edge: 18px;
    --fwhs-arrow-edge-padding: var(--fwhs-arrow-edge-padding-desktop, 18px);
    --fwhs-arrow-pair-width: 92px;
    position: relative;
    left: 50%;
    width: var(--fwhs-width);
    max-width: 100vw;
    height: var(--fwhs-height);
    min-height: 240px;
    margin-right: 0;
    margin-left: 0;
    overflow: hidden;
    background: #111827;
    transform: translateX(-50%);
    isolation: isolate;
}

.fwhs-track,
.fwhs-slide {
    position: absolute;
    inset: 0;
}

.fwhs-track {
    touch-action: pan-y;
    cursor: grab;
    user-select: none;
    -webkit-user-select: none;
}

.fwhs-slider.is-dragging .fwhs-track {
    cursor: grabbing;
}

.fwhs-slider.is-dragging .fwhs-slide.is-active,
.fwhs-slider.is-dragging .fwhs-slide.is-drag-neighbor {
    will-change: transform;
}

/* Mouse dragging uses one offset for both slides, like a translated Swiper track. */
.fwhs-slider.is-mouse-dragging .fwhs-slide.is-active {
    transform: translate3d(var(--fwhs-mouse-drag-x, 0px), 0, 0) !important;
}

.fwhs-slider.is-mouse-dragging .fwhs-slide.is-drag-neighbor {
    transform: translate3d(calc(var(--fwhs-mouse-neighbor-start, 0px) + var(--fwhs-mouse-drag-x, 0px)), 0, 0) !important;
}

.fwhs-slider.is-dragging .fwhs-slide .fwhs-content,
.fwhs-slider.is-gesture-navigation .fwhs-slide.is-active .fwhs-content {
    animation: none !important;
}

.fwhs-slide.is-drag-neighbor {
    z-index: 1;
    pointer-events: none;
}

/* One native link covers a linked slide without nesting the button inside another link.
   Carousel controls stay above the slide's stacking context. */
.fwhs-slider .fwhs-slide > .fwhs-slide-link {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: block;
    width: auto;
    height: auto;
    max-width: none;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    transform: none;
    cursor: pointer;
}

.fwhs-slider .fwhs-slide > .fwhs-slide-link:focus-visible {
    outline: 3px solid #fff;
    outline-offset: -5px;
}

.fwhs-slider.is-dragging .fwhs-slide > .fwhs-slide-link {
    cursor: grabbing;
}

.fwhs-slide {
    display: grid;
    place-items: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--fwhs-transition-speed) ease;
}

.fwhs-slide.is-active {
    opacity: 1;
    pointer-events: auto;
    z-index: 1;
}

.fwhs-slider .fwhs-slide {
    background-color: var(--fwhs-image-backdrop-color-desktop, transparent);
}

.fwhs-transition-slide .fwhs-slide {
    opacity: 1;
    transform: translateX(100%);
    transition: transform var(--fwhs-transition-speed) cubic-bezier(0.22, 1, 0.36, 1);
}

.fwhs-transition-slide .fwhs-slide.is-before {
    transform: translateX(-100%);
}

.fwhs-transition-slide .fwhs-slide.is-active {
    transform: translateX(0);
}

.fwhs-transition-slide .fwhs-slide.is-after {
    transform: translateX(100%);
}

.fwhs-transition-none .fwhs-slide {
    transition: none;
}

.fwhs-slider .fwhs-slide > .fwhs-image {
    position: absolute !important;
    inset: 0 !important;
    box-sizing: border-box !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    object-fit: cover !important;
    object-position: var(--fwhs-image-position-x, 50%) var(--fwhs-image-position-y, 50%) !important;
    transform: scale(1.01);
    -webkit-user-drag: none;
}

.fwhs-slider .fwhs-slide > .fwhs-image.fwhs-image-fit-cover {
    object-fit: cover !important;
    transform: scale(1.01);
}

.fwhs-slider .fwhs-slide > .fwhs-image.fwhs-image-fit-contain {
    object-fit: contain !important;
    transform: none;
}

.fwhs-slider .fwhs-slide > .fwhs-image.fwhs-image-fit-auto {
    inset: var(--fwhs-image-position-y, 50%) auto auto var(--fwhs-image-position-x, 50%) !important;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: none !important;
    transform: translate(calc(0% - var(--fwhs-image-position-x, 50%)), calc(0% - var(--fwhs-image-position-y, 50%)));
}

.fwhs-slider .fwhs-slide > .fwhs-image.fwhs-image-fit-stretch {
    object-fit: fill !important;
    transform: none;
}

.fwhs-slider .fwhs-slide > .fwhs-image.fwhs-image-fit-fill {
    top: 50% !important;
    bottom: auto !important;
    width: 100% !important;
    height: auto !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: fill !important;
    transform: translateY(-50%);
}

.fwhs-color-background {
    background: var(--fwhs-background-color, #1d2327);
}

/* Zoom uses the uncropped image plane, not a scaled object-fit crop. */
.fwhs-slide.fwhs-has-image-zoom { overflow: hidden; }
.fwhs-slider .fwhs-slide > .fwhs-image.fwhs-image-zoomed,
.fwhs-slider .fwhs-youtube-poster .fwhs-youtube-thumbnail.fwhs-image-zoomed {
    inset: auto !important;
    left: var(--fwhs-zoom-left) !important;
    top: var(--fwhs-zoom-top) !important;
    width: var(--fwhs-zoom-width) !important;
    height: var(--fwhs-zoom-height) !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: fill !important;
    transform: none !important;
}

.fwhs-gradient-background {
    background: linear-gradient(
        var(--fwhs-gradient-angle, 135deg),
        var(--fwhs-gradient-start, #19212f),
        var(--fwhs-gradient-end, #5b6677)
    );
}

.fwhs-video {
    border: 0;
    background: #111827;
}

.fwhs-image-placeholder {
    background:
        linear-gradient(135deg, rgba(18, 24, 38, 0.9), rgba(45, 64, 89, 0.78)),
        radial-gradient(circle at 20% 20%, rgba(244, 201, 93, 0.28), transparent 28%);
}

.fwhs-shade {
    position: absolute;
    inset: 0;
}

.fwhs-slider .fwhs-slide .fwhs-content {
    --fwhs-content-limit: var(--fwhs-content-width-desktop, 80%);
    position: relative;
    z-index: 2;
    width: min(var(--fwhs-content-limit), calc(100% - 40px)) !important;
    color: #ffffff;
    padding: var(--fwhs-fixed-carousel-copy-padding, clamp(56px, 9vh, 108px)) 0;
    box-sizing: border-box;
    min-width: 0;
}

/* Own typography inside the slider, including themes that target h2/p/a.
   The editor preview loads this same stylesheet in an isolated viewport. */
.fwhs-slider .fwhs-content .fwhs-eyebrow,
.fwhs-slider .fwhs-content .fwhs-heading,
.fwhs-slider .fwhs-content .fwhs-body,
.fwhs-slider .fwhs-content .fwhs-button {
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    font-style: normal;
    text-transform: none;
    text-decoration: none;
    overflow-wrap: anywhere;
}

.fwhs-slider .fwhs-content .fwhs-eyebrow > .fwhs-copy,
.fwhs-slider .fwhs-content .fwhs-heading > .fwhs-copy,
.fwhs-slider .fwhs-content .fwhs-body > .fwhs-copy,
.fwhs-slider .fwhs-content .fwhs-button > .fwhs-copy {
    font: inherit;
    color: inherit !important;
    letter-spacing: inherit;
    text-transform: inherit;
}

.fwhs-slide.is-active .fwhs-content {
    animation-duration: calc(var(--fwhs-transition-speed) + 250ms);
    animation-fill-mode: both;
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
}

.fwhs-content-animation-fade .fwhs-slide.is-active .fwhs-content {
    animation-name: fwhs-content-fade;
}

.fwhs-content-animation-fade-up .fwhs-slide.is-active .fwhs-content {
    animation-name: fwhs-content-fade-up;
}

.fwhs-content-animation-slide-left .fwhs-slide.is-active .fwhs-content {
    animation-name: fwhs-content-slide-left;
}

.fwhs-content-animation-zoom .fwhs-slide.is-active .fwhs-content {
    animation-name: fwhs-content-zoom;
}

@keyframes fwhs-content-fade {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes fwhs-content-fade-up {
    from { opacity: 0; transform: translateY(28px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes fwhs-content-slide-left {
    from { opacity: 0; transform: translateX(-38px); }
    to { opacity: 1; transform: translateX(0); }
}

@keyframes fwhs-content-zoom {
    from { opacity: 0; transform: scale(0.96); }
    to { opacity: 1; transform: scale(1); }
}

.fwhs-slider .fwhs-content .fwhs-eyebrow {
    margin: 0 0 14px;
    font-size: clamp(0.76rem, 1.5vw, 0.9rem);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0;
    text-transform: uppercase;
}

.fwhs-slider .fwhs-content .fwhs-heading {
    max-width: 100%;
    margin: 0;
    color: inherit;
    font-size: clamp(2.6rem, 8vw, 6.8rem);
    line-height: 0.96;
    font-weight: 700;
    letter-spacing: 0;
    text-wrap: balance;
}

.fwhs-slider .fwhs-content .fwhs-body {
    max-width: 100%;
    margin: 22px 0 0;
    color: inherit;
    font-size: clamp(1rem, 2vw, 1.3rem);
    line-height: 1.55;
    font-weight: 400;
    letter-spacing: 0;
}

.fwhs-slider .fwhs-content .fwhs-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    margin-top: 30px;
    padding: 0 24px;
    border: 2px solid transparent;
    border-radius: 4px;
    background: var(--fwhs-button-bg);
    color: var(--fwhs-button-text);
    font-size: 0.96rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
    text-decoration: none;
    transition: transform 180ms ease, background-color 180ms ease, color 180ms ease;
    text-align: inherit;
}

.fwhs-slider .fwhs-content .fwhs-button:hover,
.fwhs-slider .fwhs-content .fwhs-button:focus-visible {
    transform: translateY(-1px);
    background: #f4c95d;
    color: #111827;
    text-decoration: none;
}

.fwhs-control {
    position: absolute;
    top: 50%;
    z-index: 4;
    display: inline-grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border: 1px solid rgba(255, 255, 255, 0.45);
    border-radius: 999px;
    background: rgba(17, 24, 39, 0.35);
    color: #ffffff;
    cursor: pointer;
    transform: translateY(-50%);
    transition: background-color 180ms ease, border-color 180ms ease;
}

.fwhs-control:hover,
.fwhs-control:focus-visible {
    background: rgba(17, 24, 39, 0.72);
    border-color: rgba(255, 255, 255, 0.9);
}

.fwhs-control:disabled {
    opacity: 0.35;
    cursor: default;
}

.fwhs-control svg {
    display: block;
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.fwhs-prev {
    left: max(var(--fwhs-control-edge), calc((100% - 1180px) / 2));
}

.fwhs-next {
    right: max(var(--fwhs-control-edge), calc((100% - 1180px) / 2));
}

.fwhs-slider.fwhs-arrows-edges .fwhs-prev {
    left: min(var(--fwhs-arrow-edge-padding), max(0px, calc((100% - var(--fwhs-arrow-pair-width)) / 2)));
}

.fwhs-slider.fwhs-arrows-edges .fwhs-next {
    right: min(var(--fwhs-arrow-edge-padding), max(0px, calc((100% - var(--fwhs-arrow-pair-width)) / 2)));
}

.fwhs-dots {
    position: absolute;
    left: 50%;
    bottom: var(--fwhs-dots-bottom-padding, 16px);
    z-index: 4;
    display: flex;
    gap: var(--fwhs-dot-spacing, 0px);
    transform: translateX(-50%);
}

.fwhs-slider.fwhs-dots-left .fwhs-dots {
    left: var(--fwhs-control-edge);
    right: auto;
    transform: none;
}

.fwhs-slider.fwhs-dots-right .fwhs-dots {
    left: auto;
    right: var(--fwhs-control-edge);
    transform: none;
}

.fwhs-dot {
    width: var(--fwhs-dot-size, 10px);
    height: var(--fwhs-dot-size, 10px);
    padding: 0;
    border: 1px solid var(--fwhs-dot-color, rgba(255, 255, 255, 0.72));
    border-radius: 999px;
    background: transparent;
    cursor: pointer;
}

/* Themes often pad, size or space every <button>; reset that so Indicator
   Spacing is the only gap between dots. */
.fwhs-slider .fwhs-dots .fwhs-dot {
    flex: none;
    box-sizing: border-box !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.fwhs-dot.is-active {
    border-color: var(--fwhs-dot-active-color, rgba(255, 255, 255, 0.72));
    background: var(--fwhs-dot-active-color, #ffffff);
}

/* Small, borderless controls echo the reference hero while retaining usable
   button targets and visible keyboard focus. */
.fwhs-controls-minimal .fwhs-control {
    width: 40px;
    height: 44px;
    border: 0;
    background: transparent;
    color: rgba(237, 237, 237, 0.9);
}

.fwhs-controls-minimal .fwhs-control:hover,
.fwhs-controls-minimal .fwhs-control:focus-visible {
    border: 0;
    background: transparent;
    color: #ffffff;
}

.fwhs-controls-minimal.fwhs-arrow-hover-bg .fwhs-control:hover,
.fwhs-controls-minimal.fwhs-arrow-hover-bg .fwhs-control:focus-visible {
    background: rgba(0, 0, 0, 0.2);
}

.fwhs-controls-minimal .fwhs-control:focus-visible {
    outline: 2px solid #ffffff;
    outline-offset: 2px;
}

.fwhs-controls-minimal .fwhs-dots {
    bottom: var(--fwhs-dots-bottom-padding, 16px);
    gap: 0;
}

/* Keep formatting independent for every content piece and device. */
.fwhs-slider .fwhs-content .fwhs-eyebrow,
.fwhs-slider .fwhs-content .fwhs-heading,
.fwhs-slider .fwhs-content .fwhs-body,
.fwhs-slider .fwhs-content .fwhs-button {
    font-weight: var(--fwhs-current-weight, 400) !important;
    font-style: var(--fwhs-current-style, normal) !important;
    text-decoration-line: var(--fwhs-current-decoration, none) !important;
}

.fwhs-slider .fwhs-content .fwhs-eyebrow {
    --fwhs-current-weight: var(--fwhs-eyebrow-weight-desktop, 700);
    --fwhs-current-style: var(--fwhs-eyebrow-style-desktop, normal);
    --fwhs-current-decoration: var(--fwhs-eyebrow-decoration-desktop, none);
}
.fwhs-slider .fwhs-content .fwhs-heading {
    --fwhs-current-weight: var(--fwhs-heading-weight-desktop, 700);
    --fwhs-current-style: var(--fwhs-heading-style-desktop, normal);
    --fwhs-current-decoration: var(--fwhs-heading-decoration-desktop, none);
}
.fwhs-slider .fwhs-content .fwhs-body {
    --fwhs-current-weight: var(--fwhs-body-weight-desktop, 400);
    --fwhs-current-style: var(--fwhs-body-style-desktop, normal);
    --fwhs-current-decoration: var(--fwhs-body-decoration-desktop, none);
}
.fwhs-slider .fwhs-content .fwhs-button {
    --fwhs-current-weight: var(--fwhs-button_label-weight-desktop, 700);
    --fwhs-current-style: var(--fwhs-button_label-style-desktop, normal);
    --fwhs-current-decoration: var(--fwhs-button_label-decoration-desktop, none);
}

@media (max-width: 1024px) {
    .fwhs-slider .fwhs-slide {
        background-color: var(--fwhs-image-backdrop-color-tablet, transparent);
    }

    .fwhs-slider .fwhs-content .fwhs-eyebrow {
        --fwhs-current-weight: var(--fwhs-eyebrow-weight-tablet, 700);
        --fwhs-current-style: var(--fwhs-eyebrow-style-tablet, normal);
        --fwhs-current-decoration: var(--fwhs-eyebrow-decoration-tablet, none);
    }
    .fwhs-slider .fwhs-content .fwhs-heading {
        --fwhs-current-weight: var(--fwhs-heading-weight-tablet, 700);
        --fwhs-current-style: var(--fwhs-heading-style-tablet, normal);
        --fwhs-current-decoration: var(--fwhs-heading-decoration-tablet, none);
    }
    .fwhs-slider .fwhs-content .fwhs-body {
        --fwhs-current-weight: var(--fwhs-body-weight-tablet, 400);
        --fwhs-current-style: var(--fwhs-body-style-tablet, normal);
        --fwhs-current-decoration: var(--fwhs-body-decoration-tablet, none);
    }
    .fwhs-slider .fwhs-content .fwhs-button {
        --fwhs-current-weight: var(--fwhs-button_label-weight-tablet, 700);
        --fwhs-current-style: var(--fwhs-button_label-style-tablet, normal);
        --fwhs-current-decoration: var(--fwhs-button_label-decoration-tablet, none);
    }
}

@media (max-width: 767px) {
    .fwhs-slider .fwhs-slide {
        background-color: var(--fwhs-image-backdrop-color-mobile, transparent);
    }

    .fwhs-slider .fwhs-content .fwhs-eyebrow {
        --fwhs-current-weight: var(--fwhs-eyebrow-weight-mobile, 700);
        --fwhs-current-style: var(--fwhs-eyebrow-style-mobile, normal);
        --fwhs-current-decoration: var(--fwhs-eyebrow-decoration-mobile, none);
    }
    .fwhs-slider .fwhs-content .fwhs-heading {
        --fwhs-current-weight: var(--fwhs-heading-weight-mobile, 700);
        --fwhs-current-style: var(--fwhs-heading-style-mobile, normal);
        --fwhs-current-decoration: var(--fwhs-heading-decoration-mobile, none);
    }
    .fwhs-slider .fwhs-content .fwhs-body {
        --fwhs-current-weight: var(--fwhs-body-weight-mobile, 400);
        --fwhs-current-style: var(--fwhs-body-style-mobile, normal);
        --fwhs-current-decoration: var(--fwhs-body-decoration-mobile, none);
    }
    .fwhs-slider .fwhs-content .fwhs-button {
        --fwhs-current-weight: var(--fwhs-button_label-weight-mobile, 700);
        --fwhs-current-style: var(--fwhs-button_label-style-mobile, normal);
        --fwhs-current-decoration: var(--fwhs-button_label-decoration-mobile, none);
    }
}

/* Carousel builder: intrinsic height prevents artwork and editable copy from
   being clipped by a hero height or a fixed image-card aspect ratio. */
.fwhs-slider.fwhs-carousel-has-builder,
.fwhs-slider.fwhs-carousel-has-builder .fwhs-track { height: auto; }
.fwhs-slider.fwhs-carousel.fwhs-carousel-has-builder .fwhs-slide { height: auto; }
.fwhs-carousel-has-builder.fwhs-controls-minimal .fwhs-control,
.fwhs-carousel-has-builder.fwhs-controls-minimal .fwhs-control:hover,
.fwhs-carousel-has-builder.fwhs-controls-minimal .fwhs-control:focus-visible { color: #1d2327; }
.fwhs-carousel-has-builder.fwhs-controls-minimal .fwhs-control:focus-visible { outline-color: #2271b1; }
.fwhs-slider .fwhs-slide.fwhs-card-builder > .fwhs-slide-link:focus-visible { outline-color: #2271b1; }
.fwhs-slider.fwhs-carousel .fwhs-slide.fwhs-card-builder {
    container: fwhs-card / inline-size;
    aspect-ratio: auto;
    align-content: center;
    --fwhs-card-heading-size: var(--fwhs-heading-size-desktop, 48px);
    --fwhs-card-body-size: var(--fwhs-body-size-desktop, 20px);
    --fwhs-card-button-size: var(--fwhs-button_label-size-desktop, 16px);
}
.fwhs-card-builder > .fwhs-card-layout {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: center;
    justify-items: center;
    gap: clamp(16px, 4cqw, 56px);
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    padding: clamp(12px, 5cqw, 64px);
}
.fwhs-slider .fwhs-slide.fwhs-card-builder .fwhs-content {
    width: min(100%, var(--fwhs-content-limit)) !important;
    max-width: none;
    min-width: 0;
    padding: 0;
    gap: clamp(12px, 3cqw, 32px);
}
.fwhs-slider .fwhs-slide.fwhs-card-builder .fwhs-content > * { margin: 0; max-width: 100%; }
.fwhs-slider .fwhs-slide.fwhs-card-builder .fwhs-heading {
    font-size: min(var(--fwhs-card-heading-fit, 160px), var(--fwhs-card-heading-size), clamp(24px, 7cqw, 160px), var(--fwhs-split-heading-cap, 160px));
    line-height: 1.15;
    white-space: pre-line;
    text-wrap: wrap;
}
.fwhs-slider .fwhs-slide.fwhs-card-builder .fwhs-body {
    font-size: min(var(--fwhs-card-body-size), clamp(14px, 3cqw, 32px), var(--fwhs-split-body-cap, 32px));
    line-height: 1.5;
    white-space: pre-line;
}
.fwhs-slider .fwhs-slide.fwhs-card-builder .fwhs-button {
    margin-top: 0;
    font-size: min(var(--fwhs-card-button-size), clamp(13px, 2.8cqw, 24px), var(--fwhs-split-button-cap, 24px));
    min-width: 0;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    justify-content: center;
    text-align: center;
    /* Keep large saved padding from consuming the entire width of a tiny card. */
    padding-inline: min(var(--fwhs-card-button-px, 32px), 8cqw);
}
/* The reference outline is scaled independently of the editable button text. */
.fwhs-slider .fwhs-slide.fwhs-card-split.fwhs-card-button-produce .fwhs-button {
    position: relative;
    isolation: isolate;
    width: min(100%, max(180px, 26.5cqw));
    min-height: min(max(44px, 6.44cqw), var(--fwhs-split-button-height-cap, max(44px, 100cqw)));
    font-size: min(var(--fwhs-card-button-size), clamp(14px, 2.1cqw, 44px), var(--fwhs-split-button-cap, 44px));
    line-height: 1.15;
    padding-inline: min(var(--fwhs-card-button-px, 32px), 1.2em, 5cqw);
    border: 0;
    background: transparent;
}
.fwhs-slider .fwhs-slide.fwhs-card-button-produce .fwhs-button::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background: var(--fwhs-card-button-fill, #795aa6);
    -webkit-mask: url('../images/produce-promo-button.svg') center / 100% 100% no-repeat;
    mask: url('../images/produce-promo-button.svg') center / 100% 100% no-repeat;
}
.fwhs-slider .fwhs-slide.fwhs-card-button-produce .fwhs-button:focus-visible {
    outline: 2px solid #2271b1;
    outline-offset: 3px;
}
.fwhs-card-visual { width: 100%; min-width: 0; }
.fwhs-card-picture { display: block; width: 100%; }
.fwhs-card-picture-tablet, .fwhs-card-picture-mobile, .fwhs-card-picture.is-empty { display: none; }
.fwhs-slider .fwhs-card-visual .fwhs-card-photo {
    display: block;
    position: static;
    box-sizing: border-box;
    width: 100%;
    height: auto;
    max-width: 100%;
    max-height: min(560px, 90cqw);
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    object-fit: contain;
    object-position: center;
    transform: none;
    -webkit-user-drag: none;
}
.fwhs-card-visual:has(.fwhs-card-picture-desktop.is-empty) { display: none; }
.fwhs-slider .fwhs-slide.fwhs-card-image .fwhs-card-layout { padding: 0; gap: 0; }
.fwhs-card-image .fwhs-card-picture {
    --fwhs-artwork-top: var(--fwhs-card-image-padding-top, 0px);
    --fwhs-artwork-bottom: var(--fwhs-card-image-padding-bottom, 0px);
    box-sizing: border-box;
    padding-block: var(--fwhs-artwork-top) var(--fwhs-artwork-bottom);
}
.fwhs-card-image .fwhs-artwork-frame { overflow: hidden; }
.fwhs-slider .fwhs-slide.fwhs-card-image .fwhs-card-photo {
    max-height: none;
    transform: translate(var(--fwhs-card-image-offset-x, 0px), var(--fwhs-card-image-offset-y, 0px))
        scale(var(--fwhs-card-image-zoom, 1));
}
.fwhs-card-image > .fwhs-shade, .fwhs-card-image > .fwhs-card-layout > .fwhs-content { display: none; }

/* A fixed height is a target. Short cards fit it, and longer copy can wrap and grow. */
.fwhs-carousel-height-fixed:is(.fwhs-carousel-has-builder, .fwhs-has-youtube) {
    --fwhs-fixed-carousel-copy-padding: min(60px, max(6px, calc(var(--fwhs-height) * .07)));
}
.fwhs-carousel-height-fixed:is(.fwhs-carousel-has-builder, .fwhs-has-youtube) .fwhs-track {
    min-height: var(--fwhs-height);
}
.fwhs-carousel-height-fixed .fwhs-slide[aria-hidden="true"] {
    contain: size;
}
.fwhs-carousel-height-fixed .fwhs-card-image .fwhs-card-picture {
    /* Keep some room for artwork when the saved height is shorter than the padding. */
    --fwhs-artwork-top: min(var(--fwhs-card-image-padding-top, 0px), calc(var(--fwhs-height) * .45));
    --fwhs-artwork-bottom: min(var(--fwhs-card-image-padding-bottom, 0px), calc(var(--fwhs-height) * .45));
}
.fwhs-slider.fwhs-carousel-height-fixed .fwhs-slide.fwhs-card-image .fwhs-card-photo {
    max-height: max(0px, calc(var(--fwhs-height) - var(--fwhs-artwork-top, 0px) - var(--fwhs-artwork-bottom, 0px)));
}
.fwhs-carousel-height-fixed .fwhs-card-split {
    --fwhs-split-heading-cap: max(18px, calc(var(--fwhs-height) * .16));
    --fwhs-split-body-cap: max(14px, calc(var(--fwhs-height) * .08));
    --fwhs-split-button-cap: max(13px, calc(var(--fwhs-height) * .065));
    --fwhs-split-button-height-cap: max(44px, calc(var(--fwhs-height) * .26));
}
.fwhs-carousel-height-fixed .fwhs-card-split > .fwhs-card-layout {
    --fwhs-split-padding: min(clamp(12px, 5cqw, 64px), max(8px, calc(var(--fwhs-height) * .07)));
    --fwhs-split-visual-height: max(70px, calc(var(--fwhs-height) * .42));
    padding-block: var(--fwhs-split-padding);
    row-gap: min(clamp(16px, 4cqw, 56px), max(8px, calc(var(--fwhs-height) * .04)));
}
.fwhs-slider.fwhs-carousel-height-fixed .fwhs-card-split .fwhs-content {
    gap: min(clamp(12px, 3cqw, 32px), max(6px, calc(var(--fwhs-height) * .04)));
}
.fwhs-slider.fwhs-carousel-height-fixed .fwhs-card-split .fwhs-card-photo {
    max-height: min(560px, 90cqw, var(--fwhs-split-visual-height));
}
.fwhs-carousel-height-fixed .fwhs-youtube-panel {
    --fwhs-video-height-limit: max(70px, var(--fwhs-split-visual-height, var(--fwhs-height)));
    min-height: min(200px, var(--fwhs-video-height-limit));
    max-height: min(720px, var(--fwhs-video-height-limit));
}
.fwhs-carousel-height-fixed .fwhs-youtube-panel:has(> iframe) {
    min-height: 200px;
}
@container fwhs-card (min-width: 600px) {
    .fwhs-card-split > .fwhs-card-layout:has(.fwhs-card-visual:not([hidden])) { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .fwhs-card-image-left > .fwhs-card-layout > .fwhs-card-visual { order: -1; }
    .fwhs-card-split > .fwhs-card-layout:has(.fwhs-card-picture-desktop.is-empty) { grid-template-columns: minmax(0, 1fr); }
    .fwhs-carousel-height-fixed:not([data-fwhs-visible-count="1"]) .fwhs-card-split > .fwhs-card-layout {
        --fwhs-split-visual-height: max(70px, calc(var(--fwhs-height) - 2 * var(--fwhs-split-padding)));
    }
}
.fwhs-card-builder {
    --fwhs-card-button-px: var(--fwhs-button-px-desktop, 32px);
    --fwhs-card-button-fill: var(--fwhs-button-background-color-desktop, #795aa6);
}
@media (min-width: 768px) and (max-width: 1024px) {
    .fwhs-slider.fwhs-carousel .fwhs-slide.fwhs-card-builder {
        --fwhs-card-heading-size: var(--fwhs-heading-size-tablet, 48px);
        --fwhs-card-body-size: var(--fwhs-body-size-tablet, 20px);
        --fwhs-card-button-size: var(--fwhs-button_label-size-tablet, 16px);
        --fwhs-card-button-px: var(--fwhs-button-px-tablet, 32px);
        --fwhs-card-button-fill: var(--fwhs-button-background-color-tablet, #795aa6);
    }
    .fwhs-card-picture-desktop { display: none; }
    .fwhs-card-picture-tablet:not(.is-empty) { display: block; }
    .fwhs-card-visual:has(.fwhs-card-picture-desktop.is-empty) { display: block; }
    .fwhs-card-visual:has(.fwhs-card-picture-tablet.is-empty) { display: none; }
    @container fwhs-card (min-width: 600px) {
        .fwhs-card-split > .fwhs-card-layout:has(.fwhs-card-picture-desktop.is-empty) { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
        .fwhs-card-split > .fwhs-card-layout:has(.fwhs-card-picture-tablet.is-empty) { grid-template-columns: minmax(0, 1fr); }
    }
}
@media (max-width: 767px) {
    .fwhs-slider.fwhs-carousel .fwhs-slide.fwhs-card-builder {
        --fwhs-card-heading-size: var(--fwhs-heading-size-mobile, 48px);
        --fwhs-card-body-size: var(--fwhs-body-size-mobile, 20px);
        --fwhs-card-button-size: var(--fwhs-button_label-size-mobile, 16px);
        --fwhs-card-button-px: var(--fwhs-button-px-mobile, 32px);
        --fwhs-card-button-fill: var(--fwhs-button-background-color-mobile, #795aa6);
    }
    .fwhs-card-picture-desktop { display: none; }
    .fwhs-card-picture-mobile:not(.is-empty) { display: block; }
    .fwhs-card-visual:has(.fwhs-card-picture-desktop.is-empty) { display: block; }
    .fwhs-card-visual:has(.fwhs-card-picture-mobile.is-empty) { display: none; }
    @container fwhs-card (min-width: 600px) {
        .fwhs-card-split > .fwhs-card-layout:has(.fwhs-card-picture-desktop.is-empty) { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
        .fwhs-card-split > .fwhs-card-layout:has(.fwhs-card-picture-mobile.is-empty) { grid-template-columns: minmax(0, 1fr); }
    }
}

.fwhs-slider[data-fwhs-visible-count="1"] .fwhs-card-split > .fwhs-card-layout {
    grid-template-columns: minmax(0, 1fr);
}
.fwhs-slider[data-fwhs-visible-count="1"] .fwhs-card-split > .fwhs-card-layout > .fwhs-card-visual {
    order: -1;
}

/* Minimal buttons carry half the spacing on each side, so the gap between
   visible dots matches the setting exactly and the click target grows with it. */
.fwhs-controls-minimal .fwhs-dot {
    display: grid;
    place-items: center;
    width: calc(var(--fwhs-dot-size, 6px) + var(--fwhs-dot-spacing, 0px));
    height: max(24px, var(--fwhs-dot-size, 6px));
    border: 0;
    background: transparent;
}

.fwhs-controls-minimal .fwhs-dot::before {
    content: '';
    display: block;
    width: var(--fwhs-dot-size, 6px);
    height: var(--fwhs-dot-size, 6px);
    border-radius: 50%;
    background: var(--fwhs-dot-color, #979797);
}

.fwhs-controls-minimal .fwhs-dot.is-active::before {
    background: var(--fwhs-dot-active-color, #ffffff);
}

.fwhs-controls-minimal .fwhs-dot:hover::before,
.fwhs-controls-minimal .fwhs-dot:focus-visible::before {
    background: var(--fwhs-dot-active-color, #ffffff);
}

.fwhs-toggle {
    position: absolute;
    right: max(var(--fwhs-control-edge), calc((100% - 1180px) / 2));
    bottom: clamp(16px, 4vh, 30px);
    z-index: 4;
    min-height: 34px;
    padding: 0 14px;
    border: 1px solid rgba(255, 255, 255, 0.56);
    border-radius: 999px;
    background: rgba(17, 24, 39, 0.38);
    color: #ffffff;
    cursor: pointer;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0;
    transition: background-color 180ms ease, border-color 180ms ease;
}

.fwhs-slider.fwhs-dots-right .fwhs-toggle {
    left: var(--fwhs-control-edge);
    right: auto;
}

.fwhs-toggle:hover,
.fwhs-toggle:focus-visible {
    background: rgba(17, 24, 39, 0.72);
    border-color: rgba(255, 255, 255, 0.9);
}

.fwhs-empty {
    padding: 18px;
    border: 1px solid #d9d9d9;
    background: #fff;
    color: #444;
}

/* Multi-card carousels use one translated flex rail. Hero positioning and its
   existing mouse/touch mechanics are intentionally independent. */
.fwhs-slider.fwhs-carousel {
    --fwhs-carousel-count: var(--fwhs-carousel-count-desktop, 2);
    --fwhs-carousel-gap: var(--fwhs-carousel-gap-desktop, 50px);
    --fwhs-carousel-footer: 0px;
    --fwhs-carousel-arrow-inset: min(var(--fwhs-arrow-edge-padding), 12%);
    min-height: 0;
    box-sizing: content-box;
    padding-bottom: var(--fwhs-carousel-footer);
    background: transparent;
}
.fwhs-carousel.has-carousel-pagination { --fwhs-carousel-footer: calc(max(24px, var(--fwhs-dot-size, 0px)) + var(--fwhs-dots-bottom-padding, 16px)); }
.fwhs-carousel:has(> .fwhs-toggle:not([hidden])) {
    --fwhs-carousel-footer: calc(max(34px, var(--fwhs-dot-size, 0px)) + var(--fwhs-dots-bottom-padding, 16px));
}
.fwhs-slider.fwhs-carousel > .fwhs-toggle { bottom: var(--fwhs-dots-bottom-padding, 16px); }
.fwhs-slider.fwhs-carousel > .fwhs-control {
    top: calc((100% - var(--fwhs-carousel-footer)) / 2);
    bottom: auto;
    transform: translateY(-50%);
}
.fwhs-slider.fwhs-carousel > .fwhs-prev { left: var(--fwhs-carousel-arrow-inset); }
.fwhs-slider.fwhs-carousel > .fwhs-next { right: var(--fwhs-carousel-arrow-inset); }
.fwhs-carousel-viewport {
    height: 100%;
    overflow: hidden;
}
.fwhs-carousel:is(.fwhs-carousel-height-ratio, .fwhs-carousel-has-builder, .fwhs-has-youtube) > .fwhs-carousel-viewport {
    height: auto;
}
/* Leave room for edge arrows without covering the YouTube player. */
.fwhs-carousel.fwhs-has-youtube:has(> .fwhs-control:not([hidden])) > .fwhs-carousel-viewport {
    margin-inline: calc(var(--fwhs-carousel-arrow-inset) + var(--fwhs-arrow-pair-width) / 2 + 4px);
}
/* Carousels dim the inherited text color by default; a chosen indicator color
   also sets --fwhs-dot-opacity to 1 so it shows exactly as picked. */
.fwhs-carousel .fwhs-dot { color: inherit; border-color: var(--fwhs-dot-color, currentColor); }
.fwhs-carousel:not(.fwhs-controls-minimal) .fwhs-dot.is-active { border-color: var(--fwhs-dot-active-color, currentColor); background: var(--fwhs-dot-active-color, currentColor); }
.fwhs-carousel.fwhs-controls-minimal .fwhs-dot::before { background: var(--fwhs-dot-color, currentColor); opacity: var(--fwhs-dot-opacity, 0.4); }
.fwhs-carousel.fwhs-controls-minimal .fwhs-dot.is-active::before,
.fwhs-carousel.fwhs-controls-minimal .fwhs-dot:focus-visible::before { background: var(--fwhs-dot-active-color, currentColor); opacity: 1; }
.fwhs-slider.fwhs-carousel-height-ratio { height: auto; }
.fwhs-carousel .fwhs-track {
    position: relative;
    inset: auto;
    display: flex;
    width: 100%;
    height: 100%;
    gap: var(--fwhs-carousel-gap);
    direction: ltr;
    align-items: stretch;
}
.fwhs-carousel-height-ratio .fwhs-track { height: auto; }
.fwhs-slider.fwhs-carousel .fwhs-slide {
    position: relative;
    inset: auto;
    flex: 0 0 var(--fwhs-carousel-card-width, calc((100% - (var(--fwhs-carousel-count) - 1) * var(--fwhs-carousel-gap)) / var(--fwhs-carousel-count)));
    min-width: 0;
    height: 100%;
    box-sizing: border-box;
    overflow: hidden;
    opacity: 1;
    transform: none;
    transition: none;
    pointer-events: auto;
}
.fwhs-slider.fwhs-carousel-height-ratio .fwhs-slide { height: auto; aspect-ratio: var(--fwhs-carousel-ratio, 3 / 2); }
.fwhs-carousel.is-carousel-moving .fwhs-track,
.fwhs-carousel.is-dragging .fwhs-track { will-change: transform; }
.fwhs-carousel [hidden] { display: none !important; }

/* Players sit in the slide's normal flow, clear of shade and slider controls. */
.fwhs-youtube-panel {
    position: relative;
    z-index: 4;
    display: grid;
    place-items: center;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    min-height: 200px;
    max-height: 720px;
    aspect-ratio: 16 / 9;
    background: var(--fwhs-youtube-backdrop, #111827);
    color: #fff;
    text-align: center;
    cursor: auto;
    pointer-events: auto;
}
.fwhs-youtube-panel iframe {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    max-width: none;
    margin: 0;
    border: 0;
}
.fwhs-youtube-panel > .fwhs-youtube-poster {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    max-width: none;
    margin: 0;
    padding: 0;
    border: 0;
    box-shadow: none;
    overflow: hidden;
}
.fwhs-youtube-panel > .fwhs-youtube-play:focus-visible {
    outline: 3px solid #fff;
    outline-offset: -5px;
}
.fwhs-youtube-poster .fwhs-youtube-thumbnail {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    pointer-events: none;
}
.fwhs-youtube-poster .fwhs-youtube-play-icon {
    position: relative;
    display: block;
    width: min(68px, 80%);
    height: auto;
    pointer-events: none;
}
.fwhs-youtube-panel [hidden] { display: none !important; }
.fwhs-youtube-hero-tablet, .fwhs-youtube-hero-mobile { display: none; }
@media (min-width: 1025px) {
    .fwhs-slide:has(> .fwhs-youtube-hero-desktop) > .fwhs-content:not(:has(.fwhs-copy-desktop:not(:empty))) { display: none; }
}
@media (max-width: 1024px) {
    .fwhs-youtube-hero-desktop { display: none; }
    .fwhs-youtube-hero-tablet { display: grid; }
}
@media (min-width: 768px) and (max-width: 1024px) {
    .fwhs-slide:has(> .fwhs-youtube-hero-tablet) > .fwhs-content:not(:has(.fwhs-copy-tablet:not(:empty))) { display: none; }
}
@media (max-width: 767px) {
    .fwhs-youtube-hero-tablet { display: none; }
    .fwhs-youtube-hero-mobile { display: grid; }
    .fwhs-slide:has(> .fwhs-youtube-hero-mobile) > .fwhs-content:not(:has(.fwhs-copy-mobile:not(:empty))) { display: none; }
}
.fwhs-preview-slider .fwhs-slide:has(> .fwhs-youtube-hero:not([hidden])) .fwhs-content:not(:has(> :not([hidden]))) { display: none; }
.fwhs-has-youtube:not(.fwhs-carousel),
.fwhs-has-youtube:not(.fwhs-carousel) > .fwhs-track {
    height: auto;
}
.fwhs-has-youtube:not(.fwhs-carousel) > .fwhs-track,
.fwhs-has-youtube:not(.fwhs-carousel) .fwhs-slide.is-active {
    position: relative;
    min-height: max(240px, var(--fwhs-height));
}
.fwhs-slider.fwhs-preview-slider.fwhs-has-youtube { --fwhs-height: 0px; }
.fwhs-slider.fwhs-has-youtube .fwhs-slide:has(> .fwhs-youtube-hero:not([hidden])) {
    align-content: center;
}
.fwhs-slider.fwhs-has-youtube .fwhs-slide:has(> .fwhs-youtube-hero:not([hidden])) > .fwhs-content {
    padding-block: var(--fwhs-fixed-carousel-copy-padding, clamp(20px, 4vw, 60px));
}
.fwhs-slider.fwhs-carousel.fwhs-has-youtube,
.fwhs-slider.fwhs-carousel.fwhs-has-youtube .fwhs-track,
.fwhs-slider.fwhs-carousel.fwhs-has-youtube .fwhs-slide { height: auto; }
.fwhs-slider.fwhs-carousel.fwhs-has-youtube .fwhs-slide:has(> .fwhs-youtube-hero) { aspect-ratio: auto; }
.fwhs-card-layout:has(.fwhs-youtube-panel):has(+ .fwhs-slide-link) {
    z-index: 4;
    pointer-events: none;
}
/* Keep the whole-slide link behind the video and below split-layout content. */
.fwhs-card-layout:has(.fwhs-youtube-panel):has(+ .fwhs-slide-link) .fwhs-content { pointer-events: none; }

.fwhs-slider.fwhs-has-youtube:not(.fwhs-carousel) {
    --fwhs-video-arrow-row: 0px;
    --fwhs-video-footer-row: 0px;
    padding-bottom: calc(var(--fwhs-video-arrow-row) + var(--fwhs-video-footer-row));
}
.fwhs-has-youtube:has(> .fwhs-control:not([hidden])) { --fwhs-video-arrow-row: 50px; }
.fwhs-has-youtube:has(> .fwhs-dots:not([hidden]), > .fwhs-toggle:not([hidden])) {
    --fwhs-video-footer-row: calc(max(34px, var(--fwhs-dot-size, 0px)) + var(--fwhs-dots-bottom-padding, 16px));
}
.fwhs-slider.fwhs-has-youtube:not(.fwhs-carousel) > .fwhs-control {
    top: auto;
    bottom: var(--fwhs-video-footer-row);
    transform: none;
}
.fwhs-slider.fwhs-has-youtube > .fwhs-toggle { bottom: var(--fwhs-dots-bottom-padding, 16px); }
.fwhs-carousel.fwhs-has-youtube.fwhs-controls-minimal > .fwhs-control { color: #1d2327; }

@media (max-width: 1024px) {
    .fwhs-slider.fwhs-carousel {
        --fwhs-carousel-count: var(--fwhs-carousel-count-tablet, 1);
        --fwhs-carousel-gap: var(--fwhs-carousel-gap-tablet, 10px);
    }
}
@media (max-width: 767px) {
    .fwhs-slider.fwhs-carousel {
        --fwhs-carousel-count: var(--fwhs-carousel-count-mobile, 1);
        --fwhs-carousel-gap: var(--fwhs-carousel-gap-mobile, 10px);
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    .fwhs-slider {
        --fwhs-arrow-edge-padding: var(--fwhs-arrow-edge-padding-tablet, 18px);
    }
}

@media (max-width: 767px) {
    .fwhs-slider {
        --fwhs-control-edge: 12px;
        --fwhs-arrow-edge-padding: var(--fwhs-arrow-edge-padding-mobile, 12px);
        --fwhs-arrow-pair-width: 80px;
        min-height: 300px;
    }

    .fwhs-control {
        width: 40px;
        height: 40px;
    }

    .fwhs-toggle {
        right: var(--fwhs-control-edge);
        bottom: 16px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .fwhs-slide,
    .fwhs-transition-slide .fwhs-slide,
    .fwhs-slider .fwhs-content .fwhs-button,
    .fwhs-control,
    .fwhs-toggle {
        transition: none;
    }

    .fwhs-slide.is-active .fwhs-content {
        animation: none;
    }
}

/* Device-scoped rendering. Native CSS keeps the frontend dependency-free. */
/* :where keeps empty/nonempty rules equally specific, so crossing a breakpoint
   can show content even when the larger device's copy was empty. */
.fwhs-media,
.fwhs-copy {
    display: none;
}

.fwhs-media-desktop {
    display: block;
}

.fwhs-copy-desktop {
    display: inline;
}

.fwhs-slider .fwhs-content .fwhs-eyebrow:has(> :where(.fwhs-copy-desktop)),
.fwhs-slider .fwhs-content .fwhs-heading:has(> :where(.fwhs-copy-desktop)),
.fwhs-slider .fwhs-content .fwhs-body:has(> :where(.fwhs-copy-desktop)) {
    display: block;
}

.fwhs-slider .fwhs-content .fwhs-button:has(> :where(.fwhs-copy-desktop)) {
    display: inline-flex;
}

.fwhs-slider .fwhs-content .fwhs-eyebrow:has(> :where(.fwhs-copy-desktop:empty)),
.fwhs-slider .fwhs-content .fwhs-heading:has(> :where(.fwhs-copy-desktop:empty)),
.fwhs-slider .fwhs-content .fwhs-body:has(> :where(.fwhs-copy-desktop:empty)),
.fwhs-slider .fwhs-content .fwhs-button:has(> :where(.fwhs-copy-desktop:empty)) {
    display: none;
}

.fwhs-shade {
    background: var(--fwhs-overlay-color-desktop, #000000);
    opacity: var(--fwhs-overlay-desktop, 0.35);
}

.fwhs-content {
    display: grid;
    align-content: center;
}

.fwhs-slider .fwhs-content .fwhs-eyebrow,
.fwhs-slider .fwhs-content .fwhs-heading,
.fwhs-slider .fwhs-content .fwhs-body,
.fwhs-slider .fwhs-content .fwhs-button-row {
    width: 100%;
}

.fwhs-slider .fwhs-content .fwhs-eyebrow {
    justify-self: var(--fwhs-eyebrow-justify-desktop, center);
    color: var(--fwhs-eyebrow-color-desktop, #ffffff) !important;
    font-family: var(--fwhs-eyebrow-font-desktop, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
    font-size: var(--fwhs-eyebrow-size-desktop, 14px);
    text-align: var(--fwhs-eyebrow-align-desktop, center);
    padding-block: var(--fwhs-eyebrow-padding-top-desktop, 0px) var(--fwhs-eyebrow-padding-bottom-desktop, 0px);
}

.fwhs-slider .fwhs-content .fwhs-heading {
    justify-self: var(--fwhs-heading-justify-desktop, center);
    color: var(--fwhs-heading-color-desktop, #ffffff) !important;
    font-family: var(--fwhs-heading-font-desktop, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
    font-size: var(--fwhs-heading-size-desktop, 72px);
    text-align: var(--fwhs-heading-align-desktop, center);
    padding-block: var(--fwhs-heading-padding-top-desktop, 0px) var(--fwhs-heading-padding-bottom-desktop, 0px);
}

.fwhs-slider .fwhs-content .fwhs-body {
    justify-self: var(--fwhs-body-justify-desktop, center);
    color: var(--fwhs-body-color-desktop, #ffffff) !important;
    font-family: var(--fwhs-body-font-desktop, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
    font-size: var(--fwhs-body-size-desktop, 20px);
    text-align: var(--fwhs-body-align-desktop, center);
    padding-block: var(--fwhs-body-padding-top-desktop, 0px) var(--fwhs-body-padding-bottom-desktop, 0px);
}

.fwhs-slider .fwhs-content .fwhs-button-row {
    justify-self: var(--fwhs-button_label-justify-desktop, center);
    text-align: var(--fwhs-button_label-align-desktop, center);
}

.fwhs-slider .fwhs-content .fwhs-button {
    min-height: 0;
    padding: var(--fwhs-button_label-padding-top-desktop, var(--fwhs-button-py-desktop, 14px))
        var(--fwhs-button-px-desktop, 24px)
        var(--fwhs-button_label-padding-bottom-desktop, var(--fwhs-button-py-desktop, 14px));
    border-color: var(--fwhs-button-border-color-desktop, #ffffff);
    border-radius: var(--fwhs-button-radius-desktop, 4px);
    background: var(--fwhs-button-background-color-desktop, #ffffff);
    color: var(--fwhs-button_label-color-desktop, #111827) !important;
    font-family: var(--fwhs-button_label-font-desktop, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
    font-size: var(--fwhs-button_label-size-desktop, 16px);
}

.fwhs-slider .fwhs-content .fwhs-button:hover,
.fwhs-slider .fwhs-content .fwhs-button:focus-visible {
    border-color: var(--fwhs-button-border-color-desktop, #ffffff);
    background: var(--fwhs-button-background-color-desktop, #ffffff);
    color: var(--fwhs-button_label-color-desktop, #111827) !important;
    filter: brightness(0.94);
}

@media (max-width: 1024px) {
    .fwhs-slider .fwhs-slide .fwhs-content {
        --fwhs-content-limit: var(--fwhs-content-width-tablet, 80%);
    }

    .fwhs-media-desktop,
    .fwhs-copy-desktop {
        display: none;
    }

    .fwhs-media-tablet {
        display: block;
    }

    .fwhs-copy-tablet {
        display: inline;
    }

    .fwhs-slider .fwhs-content .fwhs-eyebrow:has(> :where(.fwhs-copy-tablet)),
    .fwhs-slider .fwhs-content .fwhs-heading:has(> :where(.fwhs-copy-tablet)),
    .fwhs-slider .fwhs-content .fwhs-body:has(> :where(.fwhs-copy-tablet)) {
        display: block;
    }

    .fwhs-slider .fwhs-content .fwhs-button:has(> :where(.fwhs-copy-tablet)) {
        display: inline-flex;
    }

    .fwhs-slider .fwhs-content .fwhs-eyebrow:has(> :where(.fwhs-copy-tablet:empty)),
    .fwhs-slider .fwhs-content .fwhs-heading:has(> :where(.fwhs-copy-tablet:empty)),
    .fwhs-slider .fwhs-content .fwhs-body:has(> :where(.fwhs-copy-tablet:empty)),
    .fwhs-slider .fwhs-content .fwhs-button:has(> :where(.fwhs-copy-tablet:empty)) {
        display: none;
    }

    .fwhs-shade {
        background: var(--fwhs-overlay-color-tablet, #000000);
        opacity: var(--fwhs-overlay-tablet, 0.35);
    }

    .fwhs-slider .fwhs-content .fwhs-eyebrow {
        justify-self: var(--fwhs-eyebrow-justify-tablet, center);
        color: var(--fwhs-eyebrow-color-tablet, #ffffff) !important;
        font-family: var(--fwhs-eyebrow-font-tablet, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
        font-size: var(--fwhs-eyebrow-size-tablet, 13px);
        text-align: var(--fwhs-eyebrow-align-tablet, center);
        padding-block: var(--fwhs-eyebrow-padding-top-tablet, 0px) var(--fwhs-eyebrow-padding-bottom-tablet, 0px);
    }

    .fwhs-slider .fwhs-content .fwhs-heading {
        justify-self: var(--fwhs-heading-justify-tablet, center);
        color: var(--fwhs-heading-color-tablet, #ffffff) !important;
        font-family: var(--fwhs-heading-font-tablet, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
        font-size: var(--fwhs-heading-size-tablet, 52px);
        text-align: var(--fwhs-heading-align-tablet, center);
        padding-block: var(--fwhs-heading-padding-top-tablet, 0px) var(--fwhs-heading-padding-bottom-tablet, 0px);
    }

    .fwhs-slider .fwhs-content .fwhs-body {
        justify-self: var(--fwhs-body-justify-tablet, center);
        color: var(--fwhs-body-color-tablet, #ffffff) !important;
        font-family: var(--fwhs-body-font-tablet, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
        font-size: var(--fwhs-body-size-tablet, 18px);
        text-align: var(--fwhs-body-align-tablet, center);
        padding-block: var(--fwhs-body-padding-top-tablet, 0px) var(--fwhs-body-padding-bottom-tablet, 0px);
    }

    .fwhs-slider .fwhs-content .fwhs-button-row {
        justify-self: var(--fwhs-button_label-justify-tablet, center);
        text-align: var(--fwhs-button_label-align-tablet, center);
    }

    .fwhs-slider .fwhs-content .fwhs-button,
    .fwhs-slider .fwhs-content .fwhs-button:hover,
    .fwhs-slider .fwhs-content .fwhs-button:focus-visible {
        padding: var(--fwhs-button_label-padding-top-tablet, var(--fwhs-button-py-tablet, 13px))
            var(--fwhs-button-px-tablet, 22px)
            var(--fwhs-button_label-padding-bottom-tablet, var(--fwhs-button-py-tablet, 13px));
        border-color: var(--fwhs-button-border-color-tablet, #ffffff);
        border-radius: var(--fwhs-button-radius-tablet, 4px);
        background: var(--fwhs-button-background-color-tablet, #ffffff);
        color: var(--fwhs-button_label-color-tablet, #111827) !important;
        font-family: var(--fwhs-button_label-font-tablet, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
        font-size: var(--fwhs-button_label-size-tablet, 15px);
    }
}

@media (max-width: 767px) {
    .fwhs-slider .fwhs-slide .fwhs-content {
        --fwhs-content-limit: var(--fwhs-content-width-mobile, 80%);
        width: min(var(--fwhs-content-limit), calc(100% - 36px)) !important;
    }

    .fwhs-media-tablet,
    .fwhs-copy-tablet {
        display: none;
    }

    .fwhs-media-mobile {
        display: block;
    }

    .fwhs-copy-mobile {
        display: inline;
    }

    .fwhs-slider .fwhs-content .fwhs-eyebrow:has(> :where(.fwhs-copy-mobile)),
    .fwhs-slider .fwhs-content .fwhs-heading:has(> :where(.fwhs-copy-mobile)),
    .fwhs-slider .fwhs-content .fwhs-body:has(> :where(.fwhs-copy-mobile)) {
        display: block;
    }

    .fwhs-slider .fwhs-content .fwhs-button:has(> :where(.fwhs-copy-mobile)) {
        display: inline-flex;
    }

    .fwhs-slider .fwhs-content .fwhs-eyebrow:has(> :where(.fwhs-copy-mobile:empty)),
    .fwhs-slider .fwhs-content .fwhs-heading:has(> :where(.fwhs-copy-mobile:empty)),
    .fwhs-slider .fwhs-content .fwhs-body:has(> :where(.fwhs-copy-mobile:empty)),
    .fwhs-slider .fwhs-content .fwhs-button:has(> :where(.fwhs-copy-mobile:empty)) {
        display: none;
    }

    .fwhs-shade {
        background: var(--fwhs-overlay-color-mobile, #000000);
        opacity: var(--fwhs-overlay-mobile, 0.35);
    }

    .fwhs-content {
        padding-top: 64px;
        padding-bottom: 76px;
    }

    .fwhs-slider .fwhs-content .fwhs-eyebrow {
        justify-self: var(--fwhs-eyebrow-justify-mobile, center);
        color: var(--fwhs-eyebrow-color-mobile, #ffffff) !important;
        font-family: var(--fwhs-eyebrow-font-mobile, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
        font-size: var(--fwhs-eyebrow-size-mobile, 12px);
        text-align: var(--fwhs-eyebrow-align-mobile, center);
        padding-block: var(--fwhs-eyebrow-padding-top-mobile, 0px) var(--fwhs-eyebrow-padding-bottom-mobile, 0px);
    }

    .fwhs-slider .fwhs-content .fwhs-heading {
        max-width: 100%;
        margin-right: 0;
        margin-left: 0;
        justify-self: var(--fwhs-heading-justify-mobile, center);
        color: var(--fwhs-heading-color-mobile, #ffffff) !important;
        font-family: var(--fwhs-heading-font-mobile, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
        font-size: var(--fwhs-heading-size-mobile, 38px);
        text-align: var(--fwhs-heading-align-mobile, center);
        padding-block: var(--fwhs-heading-padding-top-mobile, 0px) var(--fwhs-heading-padding-bottom-mobile, 0px);
    }

    .fwhs-slider .fwhs-content .fwhs-body {
        margin-right: 0;
        margin-left: 0;
        justify-self: var(--fwhs-body-justify-mobile, center);
        color: var(--fwhs-body-color-mobile, #ffffff) !important;
        font-family: var(--fwhs-body-font-mobile, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
        font-size: var(--fwhs-body-size-mobile, 16px);
        text-align: var(--fwhs-body-align-mobile, center);
        padding-block: var(--fwhs-body-padding-top-mobile, 0px) var(--fwhs-body-padding-bottom-mobile, 0px);
    }

    .fwhs-slider .fwhs-content .fwhs-button-row {
        justify-self: var(--fwhs-button_label-justify-mobile, center);
        text-align: var(--fwhs-button_label-align-mobile, center);
    }

    .fwhs-slider .fwhs-content .fwhs-button,
    .fwhs-slider .fwhs-content .fwhs-button:hover,
    .fwhs-slider .fwhs-content .fwhs-button:focus-visible {
        padding: var(--fwhs-button_label-padding-top-mobile, var(--fwhs-button-py-mobile, 12px))
            var(--fwhs-button-px-mobile, 20px)
            var(--fwhs-button_label-padding-bottom-mobile, var(--fwhs-button-py-mobile, 12px));
        border-color: var(--fwhs-button-border-color-mobile, #ffffff);
        border-radius: var(--fwhs-button-radius-mobile, 4px);
        background: var(--fwhs-button-background-color-mobile, #ffffff);
        color: var(--fwhs-button_label-color-mobile, #111827) !important;
        font-family: var(--fwhs-button_label-font-mobile, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
        font-size: var(--fwhs-button_label-size-mobile, 15px);
    }
}
