.kp-hs {
    --kp-hs-object-fit: cover;
    --kp-hs-mobile-object-fit: cover;
    --kp-hs-overlay-color: rgba(16, 10, 8, 0.48);
    --kp-hs-overlay-opacity: 1;
    --kp-hs-arrow-bg: rgba(255, 255, 255, 0.78);
    --kp-hs-arrow-color: #241817;
    --kp-hs-dot-color: rgba(255, 255, 255, 0.58);
    --kp-hs-dot-active: #ffffff;
    --kp-hs-content-width: 640px;
    --kp-hs-content-gap: 18px;
    --kp-hs-subtitle-color: rgba(255, 255, 255, 0.84);
    --kp-hs-title-color: #ffffff;
    --kp-hs-paragraph-color: rgba(255, 255, 255, 0.9);
    --kp-hs-button-bg: #681c32;
    --kp-hs-button-bg-hover: #501324;
    --kp-hs-button-color: #ffffff;
    --kp-hs-button-hover-color: var(--kp-hs-button-color);
    --kp-hs-button-focus-color: #ffffff;
    --kp-hs-button-focus-width: 2px;
    --kp-hs-button-focus-offset: 3px;
    --kp-hs-button-hover-y: -1px;
    --kp-hs-button-transition: 180ms;
    --kp-hs-slide-transition: 500ms;
    --kp-hs-content-transition: 520ms;
    --kp-hs-content-delay: 90ms;
    --kp-hs-content-offset: 18px;
    --kp-hs-shadow: 0 18px 38px rgba(20, 14, 12, 0.16);
    color: #241817;
    height: auto;
    position: relative;
    width: 100%;
}

.elementor-widget-kp_hero_slider,
.elementor-widget-kp-hero-slider {
    align-self: stretch;
    display: block;
    max-width: 100%;
    min-width: 0;
    width: 100%;
}

.elementor-widget-kp_hero_slider > .elementor-widget-container,
.elementor-widget-kp-hero-slider > .elementor-widget-container {
    display: block;
    max-width: 100%;
    min-width: 0;
    width: 100%;
}

.kp-hs *,
.kp-hs *::before,
.kp-hs *::after {
    box-sizing: border-box;
}

.kp-hs-viewport {
    aspect-ratio: 12 / 5;
    background: #f5f1ea;
    height: auto;
    overflow: hidden;
    position: relative;
    width: 100%;
}

.kp-hs-slide {
    height: 100%;
    inset: 0;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    transform: none;
    transition: opacity var(--kp-hs-slide-transition) ease;
    width: 100%;
    z-index: 1;
}

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

.kp-hs-slide::after {
    background: var(--kp-hs-overlay-color);
    content: "";
    inset: 0;
    opacity: var(--kp-hs-overlay-opacity);
    pointer-events: none;
    position: absolute;
    z-index: 2;
}

.kp-hs-media-link {
    display: block;
    height: 100%;
    overflow: hidden;
    position: relative;
    text-decoration: none;
    width: 100%;
}

.kp-hs-media-link:focus-visible {
    box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.88), inset 0 0 0 6px rgba(104, 28, 50, 0.9);
}

.kp-hs-picture,
.kp-hs-mobile-video-replacement,
.kp-hs-video-poster {
    display: block;
    height: 100%;
    width: 100%;
}

.kp-hs-mobile-video-replacement {
    display: none;
}

.kp-hs-video,
.kp-hs-video-poster {
    inset: 0;
    position: absolute;
}

.kp-hs-video {
    z-index: 0;
}

.kp-hs-video-poster {
    opacity: 1;
    transition: opacity 180ms ease, visibility 180ms ease;
    visibility: visible;
    z-index: 1;
}

.kp-hs-slide.is-video-playing .kp-hs-video-poster {
    opacity: 0;
    visibility: hidden;
}

.kp-hs-mobile-video-replacement {
    position: relative;
    z-index: 2;
}

.kp-hs-media {
    display: block;
    height: 100%;
    max-width: 100%;
    object-fit: var(--kp-hs-object-fit);
    object-position: center;
    width: 100%;
}

.kp-hs-content {
    align-items: center;
    display: flex;
    height: 100%;
    inset: 0;
    justify-content: flex-start;
    padding: 56px 72px;
    pointer-events: none;
    position: absolute;
    width: 100%;
    z-index: 3;
}

.kp-hs-content-inner {
    max-width: min(var(--kp-hs-content-width), 100%);
    opacity: 0;
    text-align: left;
    transform: translateY(var(--kp-hs-content-offset));
    transition: opacity var(--kp-hs-content-transition) ease var(--kp-hs-content-delay), transform var(--kp-hs-content-transition) ease var(--kp-hs-content-delay);
    width: 100%;
}

.kp-hs-slide.is-active .kp-hs-content-inner {
    opacity: 1;
    transform: translateY(0);
}

.kp-hs-subtitle {
    color: var(--kp-hs-subtitle-color);
    display: block;
    font-family: "aktiv-grotesk", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.08em;
    line-height: 1.3;
    margin: 0 0 var(--kp-hs-content-gap);
    text-transform: uppercase;
}

.kp-hs-title {
    color: var(--kp-hs-title-color);
    font-family: "aktiv-grotesk", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: clamp(32px, 5vw, 72px);
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.02;
    margin: 0;
    text-wrap: balance;
}

.kp-hs-paragraph {
    color: var(--kp-hs-paragraph-color);
    font-family: "aktiv-grotesk", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: clamp(16px, 1.5vw, 21px);
    line-height: 1.5;
    margin: var(--kp-hs-content-gap) 0 0;
    max-width: 620px;
}

.kp-hs-paragraph p {
    margin: 0;
}

.kp-hs-paragraph p + p {
    margin-top: 10px;
}

.kp-hs-button {
    align-items: center;
    background: var(--kp-hs-button-bg);
    border-radius: 6px;
    color: var(--kp-hs-button-color);
    display: inline-flex;
    font-family: "aktiv-grotesk", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 15px;
    font-weight: 800;
    justify-content: center;
    line-height: 1;
    min-height: 48px;
    min-width: 132px;
    padding: 0 24px;
    pointer-events: auto;
    text-decoration: none;
    transition: background-color var(--kp-hs-button-transition) ease, border-color var(--kp-hs-button-transition) ease, box-shadow var(--kp-hs-button-transition) ease, color var(--kp-hs-button-transition) ease, transform var(--kp-hs-button-transition) ease;
}

.kp-hs-button-wrap {
    display: flex;
    justify-content: flex-start;
    margin-top: 28px;
    pointer-events: none;
    width: 100%;
}

.kp-hs-button:hover {
    background: var(--kp-hs-button-bg-hover);
    color: var(--kp-hs-button-hover-color);
    transform: translateY(var(--kp-hs-button-hover-y));
}

.kp-hs-button:focus-visible {
    background: var(--kp-hs-button-bg-hover);
    color: var(--kp-hs-button-hover-color);
    outline: var(--kp-hs-button-focus-width) solid var(--kp-hs-button-focus-color);
    outline-offset: var(--kp-hs-button-focus-offset);
    transform: translateY(var(--kp-hs-button-hover-y));
}

.kp-hs-arrow {
    align-items: center;
    background: var(--kp-hs-arrow-bg);
    border: 0;
    border-radius: 6px;
    box-shadow: var(--kp-hs-shadow);
    color: var(--kp-hs-arrow-color);
    cursor: pointer;
    display: inline-flex;
    height: 48px;
    justify-content: center;
    padding: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    transition: background-color 180ms ease, color 180ms ease, opacity 180ms ease;
    width: 48px;
    z-index: 5;
}

.kp-hs-arrow:hover,
.kp-hs-arrow:focus-visible {
    background: #ffffff;
    outline: 2px solid rgba(255, 255, 255, 0.9);
    outline-offset: 3px;
}

.kp-hs-arrow:disabled {
    cursor: default;
    opacity: 0.35;
}

.kp-hs-arrow svg {
    display: block;
    fill: none;
    height: 26px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2.2;
    width: 26px;
}

.kp-hs-arrow-prev {
    left: 24px;
}

.kp-hs-arrow-next {
    right: 24px;
}

.kp-hs-dots {
    align-items: center;
    bottom: 22px;
    display: flex;
    gap: 9px;
    justify-content: center;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
    z-index: 6;
}

.kp-hs-dot {
    background: var(--kp-hs-dot-color);
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    height: 9px;
    padding: 0;
    transition: background-color 180ms ease, transform 180ms ease, width 180ms ease;
    width: 9px;
}

.kp-hs-dot.is-active {
    background: var(--kp-hs-dot-active);
    transform: none;
    width: 28px;
}

.kp-hs-dot:focus-visible {
    outline: 2px solid #ffffff;
    outline-offset: 3px;
}

.kp-hs-empty,
.kp-hs-shortcode-note {
    background: #fcfbf8;
    border: 1px dashed #b9aea4;
    color: #4d403b;
    font: 14px/1.45 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    margin: 0;
    padding: 18px;
}

@media (max-width: 767px) {
    .kp-hs-viewport {
        aspect-ratio: 1 / 1;
    }

    .kp-hs-media {
        object-fit: var(--kp-hs-mobile-object-fit);
    }

    .kp-hs-arrow {
        height: 40px;
        width: 40px;
    }

    .kp-hs-mobile-video-replacement {
        display: block;
    }

    .kp-hs-video.has-mobile-replacement {
        display: none;
    }

    .kp-hs-slide::after {
        background: var(--kp-hs-overlay-color);
    }

    .kp-hs-content {
        align-items: flex-end;
        padding: 32px 22px 58px;
    }

    .kp-hs-title {
        font-size: 34px;
    }

    .kp-hs-subtitle {
        font-size: 12px;
    }

    .kp-hs-paragraph {
        font-size: 15px;
    }

    .kp-hs-button-wrap {
        margin-top: 20px;
    }

    .kp-hs-button {
        min-height: 44px;
        min-width: 118px;
        padding: 0 18px;
    }

    .kp-hs-arrow-prev {
        left: 12px;
    }

    .kp-hs-arrow-next {
        right: 12px;
    }

    .kp-hs-dots {
        bottom: 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .kp-hs-slide {
        transform: none;
        transition: opacity 120ms linear;
    }

    .kp-hs-content-inner {
        transform: none;
        transition: opacity 120ms linear;
    }
}
